package de.thwildau.tm.moses.avro.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import de.thwildau.tm.moses.avro.services.IdlGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalIdlParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_HEX", "RULE_DOUBLE", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "','", "';'", "'error'", "'record'", "'enum'", "'fixed'", "'import'", "'throws'", "'idl'", "'protocol'", "'schema'", "'false'", "'true'", "'int'", "'long'", "'string'", "'boolean'", "'float'", "'double'", "'null'", "'bytes'", "'void'", "'{'", "'}'", "'='", "'('", "')'", "'oneway'", "'`'", "'@aliases'", "'['", "']'", "'@order'", "'@namespace'", "'@java_class'", "'array'", "'<'", "'>'", "'map'", "'union'"
    };
    public static final int RULE_ID=4;
    public static final int T__29=29;
    public static final int T__28=28;
    public static final int T__27=27;
    public static final int T__26=26;
    public static final int T__25=25;
    public static final int T__24=24;
    public static final int T__23=23;
    public static final int T__22=22;
    public static final int RULE_ANY_OTHER=12;
    public static final int T__21=21;
    public static final int T__20=20;
    public static final int EOF=-1;
    public static final int T__19=19;
    public static final int RULE_HEX=6;
    public static final int T__16=16;
    public static final int T__51=51;
    public static final int T__52=52;
    public static final int T__15=15;
    public static final int T__18=18;
    public static final int T__17=17;
    public static final int T__14=14;
    public static final int T__13=13;
    public static final int RULE_INT=5;
    public static final int T__50=50;
    public static final int T__42=42;
    public static final int T__43=43;
    public static final int T__40=40;
    public static final int T__41=41;
    public static final int T__46=46;
    public static final int T__47=47;
    public static final int T__44=44;
    public static final int T__45=45;
    public static final int T__48=48;
    public static final int T__49=49;
    public static final int RULE_SL_COMMENT=10;
    public static final int RULE_DOUBLE=7;
    public static final int RULE_ML_COMMENT=9;
    public static final int T__30=30;
    public static final int T__31=31;
    public static final int RULE_STRING=8;
    public static final int T__32=32;
    public static final int T__33=33;
    public static final int T__34=34;
    public static final int T__35=35;
    public static final int T__36=36;
    public static final int T__37=37;
    public static final int T__38=38;
    public static final int T__39=39;
    public static final int RULE_WS=11;

    // delegates
    // delegators


        public InternalIdlParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalIdlParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalIdlParser.tokenNames; }
    public String getGrammarFileName() { return "../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g"; }


     
     	private IdlGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(IdlGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleAvroIdl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:60:1: entryRuleAvroIdl : ruleAvroIdl EOF ;
    public final void entryRuleAvroIdl() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:61:1: ( ruleAvroIdl EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:62:1: ruleAvroIdl EOF
            {
             before(grammarAccess.getAvroIdlRule()); 
            pushFollow(FOLLOW_ruleAvroIdl_in_entryRuleAvroIdl61);
            ruleAvroIdl();

            state._fsp--;

             after(grammarAccess.getAvroIdlRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAvroIdl68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAvroIdl"


    // $ANTLR start "ruleAvroIdl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:69:1: ruleAvroIdl : ( ( rule__AvroIdl__Group__0 ) ) ;
    public final void ruleAvroIdl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:73:2: ( ( ( rule__AvroIdl__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:74:1: ( ( rule__AvroIdl__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:74:1: ( ( rule__AvroIdl__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:75:1: ( rule__AvroIdl__Group__0 )
            {
             before(grammarAccess.getAvroIdlAccess().getGroup()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:76:1: ( rule__AvroIdl__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:76:2: rule__AvroIdl__Group__0
            {
            pushFollow(FOLLOW_rule__AvroIdl__Group__0_in_ruleAvroIdl94);
            rule__AvroIdl__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getAvroIdlAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAvroIdl"


    // $ANTLR start "entryRuleProtocol"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:88:1: entryRuleProtocol : ruleProtocol EOF ;
    public final void entryRuleProtocol() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:89:1: ( ruleProtocol EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:90:1: ruleProtocol EOF
            {
             before(grammarAccess.getProtocolRule()); 
            pushFollow(FOLLOW_ruleProtocol_in_entryRuleProtocol121);
            ruleProtocol();

            state._fsp--;

             after(grammarAccess.getProtocolRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleProtocol128); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleProtocol"


    // $ANTLR start "ruleProtocol"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:97:1: ruleProtocol : ( ( rule__Protocol__Group__0 ) ) ;
    public final void ruleProtocol() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:101:2: ( ( ( rule__Protocol__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:102:1: ( ( rule__Protocol__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:102:1: ( ( rule__Protocol__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:103:1: ( rule__Protocol__Group__0 )
            {
             before(grammarAccess.getProtocolAccess().getGroup()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:104:1: ( rule__Protocol__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:104:2: rule__Protocol__Group__0
            {
            pushFollow(FOLLOW_rule__Protocol__Group__0_in_ruleProtocol154);
            rule__Protocol__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getProtocolAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleProtocol"


    // $ANTLR start "entryRuleDefinitions"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:116:1: entryRuleDefinitions : ruleDefinitions EOF ;
    public final void entryRuleDefinitions() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:117:1: ( ruleDefinitions EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:118:1: ruleDefinitions EOF
            {
             before(grammarAccess.getDefinitionsRule()); 
            pushFollow(FOLLOW_ruleDefinitions_in_entryRuleDefinitions181);
            ruleDefinitions();

            state._fsp--;

             after(grammarAccess.getDefinitionsRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDefinitions188); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDefinitions"


    // $ANTLR start "ruleDefinitions"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:125:1: ruleDefinitions : ( ( rule__Definitions__Alternatives ) ) ;
    public final void ruleDefinitions() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:129:2: ( ( ( rule__Definitions__Alternatives ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:130:1: ( ( rule__Definitions__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:130:1: ( ( rule__Definitions__Alternatives ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:131:1: ( rule__Definitions__Alternatives )
            {
             before(grammarAccess.getDefinitionsAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:132:1: ( rule__Definitions__Alternatives )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:132:2: rule__Definitions__Alternatives
            {
            pushFollow(FOLLOW_rule__Definitions__Alternatives_in_ruleDefinitions214);
            rule__Definitions__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getDefinitionsAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDefinitions"


    // $ANTLR start "entryRuleReservedIdentifiers"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:144:1: entryRuleReservedIdentifiers : ruleReservedIdentifiers EOF ;
    public final void entryRuleReservedIdentifiers() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:145:1: ( ruleReservedIdentifiers EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:146:1: ruleReservedIdentifiers EOF
            {
             before(grammarAccess.getReservedIdentifiersRule()); 
            pushFollow(FOLLOW_ruleReservedIdentifiers_in_entryRuleReservedIdentifiers241);
            ruleReservedIdentifiers();

            state._fsp--;

             after(grammarAccess.getReservedIdentifiersRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleReservedIdentifiers248); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleReservedIdentifiers"


    // $ANTLR start "ruleReservedIdentifiers"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:153:1: ruleReservedIdentifiers : ( ( rule__ReservedIdentifiers__Alternatives ) ) ;
    public final void ruleReservedIdentifiers() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:157:2: ( ( ( rule__ReservedIdentifiers__Alternatives ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:158:1: ( ( rule__ReservedIdentifiers__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:158:1: ( ( rule__ReservedIdentifiers__Alternatives ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:159:1: ( rule__ReservedIdentifiers__Alternatives )
            {
             before(grammarAccess.getReservedIdentifiersAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:160:1: ( rule__ReservedIdentifiers__Alternatives )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:160:2: rule__ReservedIdentifiers__Alternatives
            {
            pushFollow(FOLLOW_rule__ReservedIdentifiers__Alternatives_in_ruleReservedIdentifiers274);
            rule__ReservedIdentifiers__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getReservedIdentifiersAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleReservedIdentifiers"


    // $ANTLR start "entryRuleError"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:172:1: entryRuleError : ruleError EOF ;
    public final void entryRuleError() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:173:1: ( ruleError EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:174:1: ruleError EOF
            {
             before(grammarAccess.getErrorRule()); 
            pushFollow(FOLLOW_ruleError_in_entryRuleError301);
            ruleError();

            state._fsp--;

             after(grammarAccess.getErrorRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleError308); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleError"


    // $ANTLR start "ruleError"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:181:1: ruleError : ( ( rule__Error__Group__0 ) ) ;
    public final void ruleError() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:185:2: ( ( ( rule__Error__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:186:1: ( ( rule__Error__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:186:1: ( ( rule__Error__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:187:1: ( rule__Error__Group__0 )
            {
             before(grammarAccess.getErrorAccess().getGroup()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:188:1: ( rule__Error__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:188:2: rule__Error__Group__0
            {
            pushFollow(FOLLOW_rule__Error__Group__0_in_ruleError334);
            rule__Error__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getErrorAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleError"


    // $ANTLR start "entryRuleRecord"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:200:1: entryRuleRecord : ruleRecord EOF ;
    public final void entryRuleRecord() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:201:1: ( ruleRecord EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:202:1: ruleRecord EOF
            {
             before(grammarAccess.getRecordRule()); 
            pushFollow(FOLLOW_ruleRecord_in_entryRuleRecord361);
            ruleRecord();

            state._fsp--;

             after(grammarAccess.getRecordRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRecord368); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRecord"


    // $ANTLR start "ruleRecord"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:209:1: ruleRecord : ( ( rule__Record__Group__0 ) ) ;
    public final void ruleRecord() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:213:2: ( ( ( rule__Record__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:214:1: ( ( rule__Record__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:214:1: ( ( rule__Record__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:215:1: ( rule__Record__Group__0 )
            {
             before(grammarAccess.getRecordAccess().getGroup()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:216:1: ( rule__Record__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:216:2: rule__Record__Group__0
            {
            pushFollow(FOLLOW_rule__Record__Group__0_in_ruleRecord394);
            rule__Record__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRecordAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRecord"


    // $ANTLR start "entryRuleField"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:228:1: entryRuleField : ruleField EOF ;
    public final void entryRuleField() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:229:1: ( ruleField EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:230:1: ruleField EOF
            {
             before(grammarAccess.getFieldRule()); 
            pushFollow(FOLLOW_ruleField_in_entryRuleField421);
            ruleField();

            state._fsp--;

             after(grammarAccess.getFieldRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleField428); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleField"


    // $ANTLR start "ruleField"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:237:1: ruleField : ( ( rule__Field__Alternatives ) ) ;
    public final void ruleField() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:241:2: ( ( ( rule__Field__Alternatives ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:242:1: ( ( rule__Field__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:242:1: ( ( rule__Field__Alternatives ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:243:1: ( rule__Field__Alternatives )
            {
             before(grammarAccess.getFieldAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:244:1: ( rule__Field__Alternatives )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:244:2: rule__Field__Alternatives
            {
            pushFollow(FOLLOW_rule__Field__Alternatives_in_ruleField454);
            rule__Field__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getFieldAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleField"


    // $ANTLR start "entryRuleEnum"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:256:1: entryRuleEnum : ruleEnum EOF ;
    public final void entryRuleEnum() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:257:1: ( ruleEnum EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:258:1: ruleEnum EOF
            {
             before(grammarAccess.getEnumRule()); 
            pushFollow(FOLLOW_ruleEnum_in_entryRuleEnum481);
            ruleEnum();

            state._fsp--;

             after(grammarAccess.getEnumRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleEnum488); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleEnum"


    // $ANTLR start "ruleEnum"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:265:1: ruleEnum : ( ( rule__Enum__Group__0 ) ) ;
    public final void ruleEnum() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:269:2: ( ( ( rule__Enum__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:270:1: ( ( rule__Enum__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:270:1: ( ( rule__Enum__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:271:1: ( rule__Enum__Group__0 )
            {
             before(grammarAccess.getEnumAccess().getGroup()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:272:1: ( rule__Enum__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:272:2: rule__Enum__Group__0
            {
            pushFollow(FOLLOW_rule__Enum__Group__0_in_ruleEnum514);
            rule__Enum__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getEnumAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleEnum"


    // $ANTLR start "entryRuleEnumFields"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:284:1: entryRuleEnumFields : ruleEnumFields EOF ;
    public final void entryRuleEnumFields() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:285:1: ( ruleEnumFields EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:286:1: ruleEnumFields EOF
            {
             before(grammarAccess.getEnumFieldsRule()); 
            pushFollow(FOLLOW_ruleEnumFields_in_entryRuleEnumFields541);
            ruleEnumFields();

            state._fsp--;

             after(grammarAccess.getEnumFieldsRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleEnumFields548); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleEnumFields"


    // $ANTLR start "ruleEnumFields"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:293:1: ruleEnumFields : ( ( rule__EnumFields__NameAssignment ) ) ;
    public final void ruleEnumFields() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:297:2: ( ( ( rule__EnumFields__NameAssignment ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:298:1: ( ( rule__EnumFields__NameAssignment ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:298:1: ( ( rule__EnumFields__NameAssignment ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:299:1: ( rule__EnumFields__NameAssignment )
            {
             before(grammarAccess.getEnumFieldsAccess().getNameAssignment()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:300:1: ( rule__EnumFields__NameAssignment )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:300:2: rule__EnumFields__NameAssignment
            {
            pushFollow(FOLLOW_rule__EnumFields__NameAssignment_in_ruleEnumFields574);
            rule__EnumFields__NameAssignment();

            state._fsp--;


            }

             after(grammarAccess.getEnumFieldsAccess().getNameAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleEnumFields"


    // $ANTLR start "entryRuleFixedLengthField"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:312:1: entryRuleFixedLengthField : ruleFixedLengthField EOF ;
    public final void entryRuleFixedLengthField() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:313:1: ( ruleFixedLengthField EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:314:1: ruleFixedLengthField EOF
            {
             before(grammarAccess.getFixedLengthFieldRule()); 
            pushFollow(FOLLOW_ruleFixedLengthField_in_entryRuleFixedLengthField601);
            ruleFixedLengthField();

            state._fsp--;

             after(grammarAccess.getFixedLengthFieldRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleFixedLengthField608); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleFixedLengthField"


    // $ANTLR start "ruleFixedLengthField"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:321:1: ruleFixedLengthField : ( ( rule__FixedLengthField__Group__0 ) ) ;
    public final void ruleFixedLengthField() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:325:2: ( ( ( rule__FixedLengthField__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:326:1: ( ( rule__FixedLengthField__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:326:1: ( ( rule__FixedLengthField__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:327:1: ( rule__FixedLengthField__Group__0 )
            {
             before(grammarAccess.getFixedLengthFieldAccess().getGroup()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:328:1: ( rule__FixedLengthField__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:328:2: rule__FixedLengthField__Group__0
            {
            pushFollow(FOLLOW_rule__FixedLengthField__Group__0_in_ruleFixedLengthField634);
            rule__FixedLengthField__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getFixedLengthFieldAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleFixedLengthField"


    // $ANTLR start "entryRuleImports"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:340:1: entryRuleImports : ruleImports EOF ;
    public final void entryRuleImports() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:341:1: ( ruleImports EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:342:1: ruleImports EOF
            {
             before(grammarAccess.getImportsRule()); 
            pushFollow(FOLLOW_ruleImports_in_entryRuleImports661);
            ruleImports();

            state._fsp--;

             after(grammarAccess.getImportsRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleImports668); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleImports"


    // $ANTLR start "ruleImports"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:349:1: ruleImports : ( ( rule__Imports__Group__0 ) ) ;
    public final void ruleImports() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:353:2: ( ( ( rule__Imports__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:354:1: ( ( rule__Imports__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:354:1: ( ( rule__Imports__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:355:1: ( rule__Imports__Group__0 )
            {
             before(grammarAccess.getImportsAccess().getGroup()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:356:1: ( rule__Imports__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:356:2: rule__Imports__Group__0
            {
            pushFollow(FOLLOW_rule__Imports__Group__0_in_ruleImports694);
            rule__Imports__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getImportsAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleImports"


    // $ANTLR start "entryRuleRPCMessage"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:368:1: entryRuleRPCMessage : ruleRPCMessage EOF ;
    public final void entryRuleRPCMessage() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:369:1: ( ruleRPCMessage EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:370:1: ruleRPCMessage EOF
            {
             before(grammarAccess.getRPCMessageRule()); 
            pushFollow(FOLLOW_ruleRPCMessage_in_entryRuleRPCMessage721);
            ruleRPCMessage();

            state._fsp--;

             after(grammarAccess.getRPCMessageRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRPCMessage728); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRPCMessage"


    // $ANTLR start "ruleRPCMessage"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:377:1: ruleRPCMessage : ( ( rule__RPCMessage__Group__0 ) ) ;
    public final void ruleRPCMessage() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:381:2: ( ( ( rule__RPCMessage__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:382:1: ( ( rule__RPCMessage__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:382:1: ( ( rule__RPCMessage__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:383:1: ( rule__RPCMessage__Group__0 )
            {
             before(grammarAccess.getRPCMessageAccess().getGroup()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:384:1: ( rule__RPCMessage__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:384:2: rule__RPCMessage__Group__0
            {
            pushFollow(FOLLOW_rule__RPCMessage__Group__0_in_ruleRPCMessage754);
            rule__RPCMessage__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRPCMessageAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRPCMessage"


    // $ANTLR start "entryRuleName"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:396:1: entryRuleName : ruleName EOF ;
    public final void entryRuleName() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:397:1: ( ruleName EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:398:1: ruleName EOF
            {
             before(grammarAccess.getNameRule()); 
            pushFollow(FOLLOW_ruleName_in_entryRuleName781);
            ruleName();

            state._fsp--;

             after(grammarAccess.getNameRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleName788); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleName"


    // $ANTLR start "ruleName"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:405:1: ruleName : ( ( rule__Name__Alternatives ) ) ;
    public final void ruleName() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:409:2: ( ( ( rule__Name__Alternatives ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:410:1: ( ( rule__Name__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:410:1: ( ( rule__Name__Alternatives ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:411:1: ( rule__Name__Alternatives )
            {
             before(grammarAccess.getNameAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:412:1: ( rule__Name__Alternatives )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:412:2: rule__Name__Alternatives
            {
            pushFollow(FOLLOW_rule__Name__Alternatives_in_ruleName814);
            rule__Name__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getNameAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleName"


    // $ANTLR start "entryRuleReturnType"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:424:1: entryRuleReturnType : ruleReturnType EOF ;
    public final void entryRuleReturnType() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:425:1: ( ruleReturnType EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:426:1: ruleReturnType EOF
            {
             before(grammarAccess.getReturnTypeRule()); 
            pushFollow(FOLLOW_ruleReturnType_in_entryRuleReturnType841);
            ruleReturnType();

            state._fsp--;

             after(grammarAccess.getReturnTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleReturnType848); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleReturnType"


    // $ANTLR start "ruleReturnType"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:433:1: ruleReturnType : ( ( rule__ReturnType__Alternatives ) ) ;
    public final void ruleReturnType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:437:2: ( ( ( rule__ReturnType__Alternatives ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:438:1: ( ( rule__ReturnType__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:438:1: ( ( rule__ReturnType__Alternatives ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:439:1: ( rule__ReturnType__Alternatives )
            {
             before(grammarAccess.getReturnTypeAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:440:1: ( rule__ReturnType__Alternatives )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:440:2: rule__ReturnType__Alternatives
            {
            pushFollow(FOLLOW_rule__ReturnType__Alternatives_in_ruleReturnType874);
            rule__ReturnType__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getReturnTypeAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleReturnType"


    // $ANTLR start "entryRuleThrows"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:452:1: entryRuleThrows : ruleThrows EOF ;
    public final void entryRuleThrows() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:453:1: ( ruleThrows EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:454:1: ruleThrows EOF
            {
             before(grammarAccess.getThrowsRule()); 
            pushFollow(FOLLOW_ruleThrows_in_entryRuleThrows901);
            ruleThrows();

            state._fsp--;

             after(grammarAccess.getThrowsRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleThrows908); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleThrows"


    // $ANTLR start "ruleThrows"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:461:1: ruleThrows : ( ( rule__Throws__Group__0 ) ) ;
    public final void ruleThrows() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:465:2: ( ( ( rule__Throws__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:466:1: ( ( rule__Throws__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:466:1: ( ( rule__Throws__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:467:1: ( rule__Throws__Group__0 )
            {
             before(grammarAccess.getThrowsAccess().getGroup()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:468:1: ( rule__Throws__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:468:2: rule__Throws__Group__0
            {
            pushFollow(FOLLOW_rule__Throws__Group__0_in_ruleThrows934);
            rule__Throws__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getThrowsAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleThrows"


    // $ANTLR start "entryRuleArgument"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:480:1: entryRuleArgument : ruleArgument EOF ;
    public final void entryRuleArgument() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:481:1: ( ruleArgument EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:482:1: ruleArgument EOF
            {
             before(grammarAccess.getArgumentRule()); 
            pushFollow(FOLLOW_ruleArgument_in_entryRuleArgument961);
            ruleArgument();

            state._fsp--;

             after(grammarAccess.getArgumentRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleArgument968); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleArgument"


    // $ANTLR start "ruleArgument"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:489:1: ruleArgument : ( ( rule__Argument__Group__0 ) ) ;
    public final void ruleArgument() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:493:2: ( ( ( rule__Argument__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:494:1: ( ( rule__Argument__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:494:1: ( ( rule__Argument__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:495:1: ( rule__Argument__Group__0 )
            {
             before(grammarAccess.getArgumentAccess().getGroup()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:496:1: ( rule__Argument__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:496:2: rule__Argument__Group__0
            {
            pushFollow(FOLLOW_rule__Argument__Group__0_in_ruleArgument994);
            rule__Argument__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getArgumentAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleArgument"


    // $ANTLR start "entryRuleAnnotation"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:508:1: entryRuleAnnotation : ruleAnnotation EOF ;
    public final void entryRuleAnnotation() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:509:1: ( ruleAnnotation EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:510:1: ruleAnnotation EOF
            {
             before(grammarAccess.getAnnotationRule()); 
            pushFollow(FOLLOW_ruleAnnotation_in_entryRuleAnnotation1021);
            ruleAnnotation();

            state._fsp--;

             after(grammarAccess.getAnnotationRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotation1028); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAnnotation"


    // $ANTLR start "ruleAnnotation"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:517:1: ruleAnnotation : ( ( rule__Annotation__Alternatives ) ) ;
    public final void ruleAnnotation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:521:2: ( ( ( rule__Annotation__Alternatives ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:522:1: ( ( rule__Annotation__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:522:1: ( ( rule__Annotation__Alternatives ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:523:1: ( rule__Annotation__Alternatives )
            {
             before(grammarAccess.getAnnotationAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:524:1: ( rule__Annotation__Alternatives )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:524:2: rule__Annotation__Alternatives
            {
            pushFollow(FOLLOW_rule__Annotation__Alternatives_in_ruleAnnotation1054);
            rule__Annotation__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getAnnotationAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAnnotation"


    // $ANTLR start "entryRuleAliasAnnotation"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:536:1: entryRuleAliasAnnotation : ruleAliasAnnotation EOF ;
    public final void entryRuleAliasAnnotation() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:537:1: ( ruleAliasAnnotation EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:538:1: ruleAliasAnnotation EOF
            {
             before(grammarAccess.getAliasAnnotationRule()); 
            pushFollow(FOLLOW_ruleAliasAnnotation_in_entryRuleAliasAnnotation1081);
            ruleAliasAnnotation();

            state._fsp--;

             after(grammarAccess.getAliasAnnotationRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAliasAnnotation1088); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAliasAnnotation"


    // $ANTLR start "ruleAliasAnnotation"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:545:1: ruleAliasAnnotation : ( ( rule__AliasAnnotation__Group__0 ) ) ;
    public final void ruleAliasAnnotation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:549:2: ( ( ( rule__AliasAnnotation__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:550:1: ( ( rule__AliasAnnotation__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:550:1: ( ( rule__AliasAnnotation__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:551:1: ( rule__AliasAnnotation__Group__0 )
            {
             before(grammarAccess.getAliasAnnotationAccess().getGroup()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:552:1: ( rule__AliasAnnotation__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:552:2: rule__AliasAnnotation__Group__0
            {
            pushFollow(FOLLOW_rule__AliasAnnotation__Group__0_in_ruleAliasAnnotation1114);
            rule__AliasAnnotation__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getAliasAnnotationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAliasAnnotation"


    // $ANTLR start "entryRuleOrderAnnotation"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:564:1: entryRuleOrderAnnotation : ruleOrderAnnotation EOF ;
    public final void entryRuleOrderAnnotation() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:565:1: ( ruleOrderAnnotation EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:566:1: ruleOrderAnnotation EOF
            {
             before(grammarAccess.getOrderAnnotationRule()); 
            pushFollow(FOLLOW_ruleOrderAnnotation_in_entryRuleOrderAnnotation1141);
            ruleOrderAnnotation();

            state._fsp--;

             after(grammarAccess.getOrderAnnotationRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleOrderAnnotation1148); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleOrderAnnotation"


    // $ANTLR start "ruleOrderAnnotation"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:573:1: ruleOrderAnnotation : ( ( rule__OrderAnnotation__Group__0 ) ) ;
    public final void ruleOrderAnnotation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:577:2: ( ( ( rule__OrderAnnotation__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:578:1: ( ( rule__OrderAnnotation__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:578:1: ( ( rule__OrderAnnotation__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:579:1: ( rule__OrderAnnotation__Group__0 )
            {
             before(grammarAccess.getOrderAnnotationAccess().getGroup()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:580:1: ( rule__OrderAnnotation__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:580:2: rule__OrderAnnotation__Group__0
            {
            pushFollow(FOLLOW_rule__OrderAnnotation__Group__0_in_ruleOrderAnnotation1174);
            rule__OrderAnnotation__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getOrderAnnotationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleOrderAnnotation"


    // $ANTLR start "entryRuleNamespaceAnnotation"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:592:1: entryRuleNamespaceAnnotation : ruleNamespaceAnnotation EOF ;
    public final void entryRuleNamespaceAnnotation() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:593:1: ( ruleNamespaceAnnotation EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:594:1: ruleNamespaceAnnotation EOF
            {
             before(grammarAccess.getNamespaceAnnotationRule()); 
            pushFollow(FOLLOW_ruleNamespaceAnnotation_in_entryRuleNamespaceAnnotation1201);
            ruleNamespaceAnnotation();

            state._fsp--;

             after(grammarAccess.getNamespaceAnnotationRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleNamespaceAnnotation1208); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleNamespaceAnnotation"


    // $ANTLR start "ruleNamespaceAnnotation"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:601:1: ruleNamespaceAnnotation : ( ( rule__NamespaceAnnotation__Group__0 ) ) ;
    public final void ruleNamespaceAnnotation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:605:2: ( ( ( rule__NamespaceAnnotation__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:606:1: ( ( rule__NamespaceAnnotation__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:606:1: ( ( rule__NamespaceAnnotation__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:607:1: ( rule__NamespaceAnnotation__Group__0 )
            {
             before(grammarAccess.getNamespaceAnnotationAccess().getGroup()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:608:1: ( rule__NamespaceAnnotation__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:608:2: rule__NamespaceAnnotation__Group__0
            {
            pushFollow(FOLLOW_rule__NamespaceAnnotation__Group__0_in_ruleNamespaceAnnotation1234);
            rule__NamespaceAnnotation__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getNamespaceAnnotationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleNamespaceAnnotation"


    // $ANTLR start "entryRuleJavaclassAnnotation"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:620:1: entryRuleJavaclassAnnotation : ruleJavaclassAnnotation EOF ;
    public final void entryRuleJavaclassAnnotation() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:621:1: ( ruleJavaclassAnnotation EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:622:1: ruleJavaclassAnnotation EOF
            {
             before(grammarAccess.getJavaclassAnnotationRule()); 
            pushFollow(FOLLOW_ruleJavaclassAnnotation_in_entryRuleJavaclassAnnotation1261);
            ruleJavaclassAnnotation();

            state._fsp--;

             after(grammarAccess.getJavaclassAnnotationRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleJavaclassAnnotation1268); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleJavaclassAnnotation"


    // $ANTLR start "ruleJavaclassAnnotation"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:629:1: ruleJavaclassAnnotation : ( ( rule__JavaclassAnnotation__Group__0 ) ) ;
    public final void ruleJavaclassAnnotation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:633:2: ( ( ( rule__JavaclassAnnotation__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:634:1: ( ( rule__JavaclassAnnotation__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:634:1: ( ( rule__JavaclassAnnotation__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:635:1: ( rule__JavaclassAnnotation__Group__0 )
            {
             before(grammarAccess.getJavaclassAnnotationAccess().getGroup()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:636:1: ( rule__JavaclassAnnotation__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:636:2: rule__JavaclassAnnotation__Group__0
            {
            pushFollow(FOLLOW_rule__JavaclassAnnotation__Group__0_in_ruleJavaclassAnnotation1294);
            rule__JavaclassAnnotation__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getJavaclassAnnotationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleJavaclassAnnotation"


    // $ANTLR start "entryRuleDefType"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:648:1: entryRuleDefType : ruleDefType EOF ;
    public final void entryRuleDefType() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:649:1: ( ruleDefType EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:650:1: ruleDefType EOF
            {
             before(grammarAccess.getDefTypeRule()); 
            pushFollow(FOLLOW_ruleDefType_in_entryRuleDefType1321);
            ruleDefType();

            state._fsp--;

             after(grammarAccess.getDefTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDefType1328); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDefType"


    // $ANTLR start "ruleDefType"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:657:1: ruleDefType : ( ( rule__DefType__NameAssignment ) ) ;
    public final void ruleDefType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:661:2: ( ( ( rule__DefType__NameAssignment ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:662:1: ( ( rule__DefType__NameAssignment ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:662:1: ( ( rule__DefType__NameAssignment ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:663:1: ( rule__DefType__NameAssignment )
            {
             before(grammarAccess.getDefTypeAccess().getNameAssignment()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:664:1: ( rule__DefType__NameAssignment )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:664:2: rule__DefType__NameAssignment
            {
            pushFollow(FOLLOW_rule__DefType__NameAssignment_in_ruleDefType1354);
            rule__DefType__NameAssignment();

            state._fsp--;


            }

             after(grammarAccess.getDefTypeAccess().getNameAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDefType"


    // $ANTLR start "entryRuleBaseTypeRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:676:1: entryRuleBaseTypeRef : ruleBaseTypeRef EOF ;
    public final void entryRuleBaseTypeRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:677:1: ( ruleBaseTypeRef EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:678:1: ruleBaseTypeRef EOF
            {
             before(grammarAccess.getBaseTypeRefRule()); 
            pushFollow(FOLLOW_ruleBaseTypeRef_in_entryRuleBaseTypeRef1381);
            ruleBaseTypeRef();

            state._fsp--;

             after(grammarAccess.getBaseTypeRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBaseTypeRef1388); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleBaseTypeRef"


    // $ANTLR start "ruleBaseTypeRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:685:1: ruleBaseTypeRef : ( ( rule__BaseTypeRef__BasicTypeAssignment ) ) ;
    public final void ruleBaseTypeRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:689:2: ( ( ( rule__BaseTypeRef__BasicTypeAssignment ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:690:1: ( ( rule__BaseTypeRef__BasicTypeAssignment ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:690:1: ( ( rule__BaseTypeRef__BasicTypeAssignment ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:691:1: ( rule__BaseTypeRef__BasicTypeAssignment )
            {
             before(grammarAccess.getBaseTypeRefAccess().getBasicTypeAssignment()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:692:1: ( rule__BaseTypeRef__BasicTypeAssignment )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:692:2: rule__BaseTypeRef__BasicTypeAssignment
            {
            pushFollow(FOLLOW_rule__BaseTypeRef__BasicTypeAssignment_in_ruleBaseTypeRef1414);
            rule__BaseTypeRef__BasicTypeAssignment();

            state._fsp--;


            }

             after(grammarAccess.getBaseTypeRefAccess().getBasicTypeAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBaseTypeRef"


    // $ANTLR start "entryRuleComplexTypeRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:704:1: entryRuleComplexTypeRef : ruleComplexTypeRef EOF ;
    public final void entryRuleComplexTypeRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:705:1: ( ruleComplexTypeRef EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:706:1: ruleComplexTypeRef EOF
            {
             before(grammarAccess.getComplexTypeRefRule()); 
            pushFollow(FOLLOW_ruleComplexTypeRef_in_entryRuleComplexTypeRef1441);
            ruleComplexTypeRef();

            state._fsp--;

             after(grammarAccess.getComplexTypeRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleComplexTypeRef1448); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleComplexTypeRef"


    // $ANTLR start "ruleComplexTypeRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:713:1: ruleComplexTypeRef : ( ( rule__ComplexTypeRef__Alternatives ) ) ;
    public final void ruleComplexTypeRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:717:2: ( ( ( rule__ComplexTypeRef__Alternatives ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:718:1: ( ( rule__ComplexTypeRef__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:718:1: ( ( rule__ComplexTypeRef__Alternatives ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:719:1: ( rule__ComplexTypeRef__Alternatives )
            {
             before(grammarAccess.getComplexTypeRefAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:720:1: ( rule__ComplexTypeRef__Alternatives )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:720:2: rule__ComplexTypeRef__Alternatives
            {
            pushFollow(FOLLOW_rule__ComplexTypeRef__Alternatives_in_ruleComplexTypeRef1474);
            rule__ComplexTypeRef__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getComplexTypeRefAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleComplexTypeRef"


    // $ANTLR start "entryRuleNumberRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:732:1: entryRuleNumberRef : ruleNumberRef EOF ;
    public final void entryRuleNumberRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:733:1: ( ruleNumberRef EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:734:1: ruleNumberRef EOF
            {
             before(grammarAccess.getNumberRefRule()); 
            pushFollow(FOLLOW_ruleNumberRef_in_entryRuleNumberRef1501);
            ruleNumberRef();

            state._fsp--;

             after(grammarAccess.getNumberRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleNumberRef1508); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleNumberRef"


    // $ANTLR start "ruleNumberRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:741:1: ruleNumberRef : ( ( rule__NumberRef__Alternatives ) ) ;
    public final void ruleNumberRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:745:2: ( ( ( rule__NumberRef__Alternatives ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:746:1: ( ( rule__NumberRef__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:746:1: ( ( rule__NumberRef__Alternatives ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:747:1: ( rule__NumberRef__Alternatives )
            {
             before(grammarAccess.getNumberRefAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:748:1: ( rule__NumberRef__Alternatives )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:748:2: rule__NumberRef__Alternatives
            {
            pushFollow(FOLLOW_rule__NumberRef__Alternatives_in_ruleNumberRef1534);
            rule__NumberRef__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getNumberRefAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleNumberRef"


    // $ANTLR start "entryRuleIntRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:760:1: entryRuleIntRef : ruleIntRef EOF ;
    public final void entryRuleIntRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:761:1: ( ruleIntRef EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:762:1: ruleIntRef EOF
            {
             before(grammarAccess.getIntRefRule()); 
            pushFollow(FOLLOW_ruleIntRef_in_entryRuleIntRef1561);
            ruleIntRef();

            state._fsp--;

             after(grammarAccess.getIntRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleIntRef1568); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleIntRef"


    // $ANTLR start "ruleIntRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:769:1: ruleIntRef : ( ( rule__IntRef__IntAssignment ) ) ;
    public final void ruleIntRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:773:2: ( ( ( rule__IntRef__IntAssignment ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:774:1: ( ( rule__IntRef__IntAssignment ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:774:1: ( ( rule__IntRef__IntAssignment ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:775:1: ( rule__IntRef__IntAssignment )
            {
             before(grammarAccess.getIntRefAccess().getIntAssignment()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:776:1: ( rule__IntRef__IntAssignment )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:776:2: rule__IntRef__IntAssignment
            {
            pushFollow(FOLLOW_rule__IntRef__IntAssignment_in_ruleIntRef1594);
            rule__IntRef__IntAssignment();

            state._fsp--;


            }

             after(grammarAccess.getIntRefAccess().getIntAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleIntRef"


    // $ANTLR start "entryRuleHexRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:788:1: entryRuleHexRef : ruleHexRef EOF ;
    public final void entryRuleHexRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:789:1: ( ruleHexRef EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:790:1: ruleHexRef EOF
            {
             before(grammarAccess.getHexRefRule()); 
            pushFollow(FOLLOW_ruleHexRef_in_entryRuleHexRef1621);
            ruleHexRef();

            state._fsp--;

             after(grammarAccess.getHexRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleHexRef1628); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleHexRef"


    // $ANTLR start "ruleHexRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:797:1: ruleHexRef : ( ( rule__HexRef__HexAssignment ) ) ;
    public final void ruleHexRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:801:2: ( ( ( rule__HexRef__HexAssignment ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:802:1: ( ( rule__HexRef__HexAssignment ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:802:1: ( ( rule__HexRef__HexAssignment ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:803:1: ( rule__HexRef__HexAssignment )
            {
             before(grammarAccess.getHexRefAccess().getHexAssignment()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:804:1: ( rule__HexRef__HexAssignment )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:804:2: rule__HexRef__HexAssignment
            {
            pushFollow(FOLLOW_rule__HexRef__HexAssignment_in_ruleHexRef1654);
            rule__HexRef__HexAssignment();

            state._fsp--;


            }

             after(grammarAccess.getHexRefAccess().getHexAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleHexRef"


    // $ANTLR start "entryRuleDoubleRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:816:1: entryRuleDoubleRef : ruleDoubleRef EOF ;
    public final void entryRuleDoubleRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:817:1: ( ruleDoubleRef EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:818:1: ruleDoubleRef EOF
            {
             before(grammarAccess.getDoubleRefRule()); 
            pushFollow(FOLLOW_ruleDoubleRef_in_entryRuleDoubleRef1681);
            ruleDoubleRef();

            state._fsp--;

             after(grammarAccess.getDoubleRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDoubleRef1688); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDoubleRef"


    // $ANTLR start "ruleDoubleRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:825:1: ruleDoubleRef : ( ( rule__DoubleRef__DoubleAssignment ) ) ;
    public final void ruleDoubleRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:829:2: ( ( ( rule__DoubleRef__DoubleAssignment ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:830:1: ( ( rule__DoubleRef__DoubleAssignment ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:830:1: ( ( rule__DoubleRef__DoubleAssignment ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:831:1: ( rule__DoubleRef__DoubleAssignment )
            {
             before(grammarAccess.getDoubleRefAccess().getDoubleAssignment()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:832:1: ( rule__DoubleRef__DoubleAssignment )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:832:2: rule__DoubleRef__DoubleAssignment
            {
            pushFollow(FOLLOW_rule__DoubleRef__DoubleAssignment_in_ruleDoubleRef1714);
            rule__DoubleRef__DoubleAssignment();

            state._fsp--;


            }

             after(grammarAccess.getDoubleRefAccess().getDoubleAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDoubleRef"


    // $ANTLR start "entryRuleBooleanRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:844:1: entryRuleBooleanRef : ruleBooleanRef EOF ;
    public final void entryRuleBooleanRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:845:1: ( ruleBooleanRef EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:846:1: ruleBooleanRef EOF
            {
             before(grammarAccess.getBooleanRefRule()); 
            pushFollow(FOLLOW_ruleBooleanRef_in_entryRuleBooleanRef1741);
            ruleBooleanRef();

            state._fsp--;

             after(grammarAccess.getBooleanRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanRef1748); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleBooleanRef"


    // $ANTLR start "ruleBooleanRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:853:1: ruleBooleanRef : ( ( rule__BooleanRef__BooleanAssignment ) ) ;
    public final void ruleBooleanRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:857:2: ( ( ( rule__BooleanRef__BooleanAssignment ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:858:1: ( ( rule__BooleanRef__BooleanAssignment ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:858:1: ( ( rule__BooleanRef__BooleanAssignment ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:859:1: ( rule__BooleanRef__BooleanAssignment )
            {
             before(grammarAccess.getBooleanRefAccess().getBooleanAssignment()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:860:1: ( rule__BooleanRef__BooleanAssignment )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:860:2: rule__BooleanRef__BooleanAssignment
            {
            pushFollow(FOLLOW_rule__BooleanRef__BooleanAssignment_in_ruleBooleanRef1774);
            rule__BooleanRef__BooleanAssignment();

            state._fsp--;


            }

             after(grammarAccess.getBooleanRefAccess().getBooleanAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBooleanRef"


    // $ANTLR start "entryRuleStringRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:872:1: entryRuleStringRef : ruleStringRef EOF ;
    public final void entryRuleStringRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:873:1: ( ruleStringRef EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:874:1: ruleStringRef EOF
            {
             before(grammarAccess.getStringRefRule()); 
            pushFollow(FOLLOW_ruleStringRef_in_entryRuleStringRef1801);
            ruleStringRef();

            state._fsp--;

             after(grammarAccess.getStringRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleStringRef1808); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleStringRef"


    // $ANTLR start "ruleStringRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:881:1: ruleStringRef : ( ( rule__StringRef__StringAssignment ) ) ;
    public final void ruleStringRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:885:2: ( ( ( rule__StringRef__StringAssignment ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:886:1: ( ( rule__StringRef__StringAssignment ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:886:1: ( ( rule__StringRef__StringAssignment ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:887:1: ( rule__StringRef__StringAssignment )
            {
             before(grammarAccess.getStringRefAccess().getStringAssignment()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:888:1: ( rule__StringRef__StringAssignment )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:888:2: rule__StringRef__StringAssignment
            {
            pushFollow(FOLLOW_rule__StringRef__StringAssignment_in_ruleStringRef1834);
            rule__StringRef__StringAssignment();

            state._fsp--;


            }

             after(grammarAccess.getStringRefAccess().getStringAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleStringRef"


    // $ANTLR start "entryRuleImportTypeRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:900:1: entryRuleImportTypeRef : ruleImportTypeRef EOF ;
    public final void entryRuleImportTypeRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:901:1: ( ruleImportTypeRef EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:902:1: ruleImportTypeRef EOF
            {
             before(grammarAccess.getImportTypeRefRule()); 
            pushFollow(FOLLOW_ruleImportTypeRef_in_entryRuleImportTypeRef1861);
            ruleImportTypeRef();

            state._fsp--;

             after(grammarAccess.getImportTypeRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleImportTypeRef1868); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleImportTypeRef"


    // $ANTLR start "ruleImportTypeRef"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:909:1: ruleImportTypeRef : ( ( rule__ImportTypeRef__TypeAssignment ) ) ;
    public final void ruleImportTypeRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:913:2: ( ( ( rule__ImportTypeRef__TypeAssignment ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:914:1: ( ( rule__ImportTypeRef__TypeAssignment ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:914:1: ( ( rule__ImportTypeRef__TypeAssignment ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:915:1: ( rule__ImportTypeRef__TypeAssignment )
            {
             before(grammarAccess.getImportTypeRefAccess().getTypeAssignment()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:916:1: ( rule__ImportTypeRef__TypeAssignment )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:916:2: rule__ImportTypeRef__TypeAssignment
            {
            pushFollow(FOLLOW_rule__ImportTypeRef__TypeAssignment_in_ruleImportTypeRef1894);
            rule__ImportTypeRef__TypeAssignment();

            state._fsp--;


            }

             after(grammarAccess.getImportTypeRefAccess().getTypeAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleImportTypeRef"


    // $ANTLR start "entryRuleImportType"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:928:1: entryRuleImportType : ruleImportType EOF ;
    public final void entryRuleImportType() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:929:1: ( ruleImportType EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:930:1: ruleImportType EOF
            {
             before(grammarAccess.getImportTypeRule()); 
            pushFollow(FOLLOW_ruleImportType_in_entryRuleImportType1921);
            ruleImportType();

            state._fsp--;

             after(grammarAccess.getImportTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleImportType1928); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleImportType"


    // $ANTLR start "ruleImportType"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:937:1: ruleImportType : ( ( rule__ImportType__Alternatives ) ) ;
    public final void ruleImportType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:941:2: ( ( ( rule__ImportType__Alternatives ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:942:1: ( ( rule__ImportType__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:942:1: ( ( rule__ImportType__Alternatives ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:943:1: ( rule__ImportType__Alternatives )
            {
             before(grammarAccess.getImportTypeAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:944:1: ( rule__ImportType__Alternatives )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:944:2: rule__ImportType__Alternatives
            {
            pushFollow(FOLLOW_rule__ImportType__Alternatives_in_ruleImportType1954);
            rule__ImportType__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getImportTypeAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleImportType"


    // $ANTLR start "entryRuleFieldType"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:956:1: entryRuleFieldType : ruleFieldType EOF ;
    public final void entryRuleFieldType() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:957:1: ( ruleFieldType EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:958:1: ruleFieldType EOF
            {
             before(grammarAccess.getFieldTypeRule()); 
            pushFollow(FOLLOW_ruleFieldType_in_entryRuleFieldType1981);
            ruleFieldType();

            state._fsp--;

             after(grammarAccess.getFieldTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleFieldType1988); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleFieldType"


    // $ANTLR start "ruleFieldType"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:965:1: ruleFieldType : ( ( rule__FieldType__Alternatives ) ) ;
    public final void ruleFieldType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:969:2: ( ( ( rule__FieldType__Alternatives ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:970:1: ( ( rule__FieldType__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:970:1: ( ( rule__FieldType__Alternatives ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:971:1: ( rule__FieldType__Alternatives )
            {
             before(grammarAccess.getFieldTypeAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:972:1: ( rule__FieldType__Alternatives )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:972:2: rule__FieldType__Alternatives
            {
            pushFollow(FOLLOW_rule__FieldType__Alternatives_in_ruleFieldType2014);
            rule__FieldType__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getFieldTypeAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleFieldType"


    // $ANTLR start "entryRuleArrayType"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:984:1: entryRuleArrayType : ruleArrayType EOF ;
    public final void entryRuleArrayType() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:985:1: ( ruleArrayType EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:986:1: ruleArrayType EOF
            {
             before(grammarAccess.getArrayTypeRule()); 
            pushFollow(FOLLOW_ruleArrayType_in_entryRuleArrayType2041);
            ruleArrayType();

            state._fsp--;

             after(grammarAccess.getArrayTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleArrayType2048); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleArrayType"


    // $ANTLR start "ruleArrayType"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:993:1: ruleArrayType : ( ( rule__ArrayType__Group__0 ) ) ;
    public final void ruleArrayType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:997:2: ( ( ( rule__ArrayType__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:998:1: ( ( rule__ArrayType__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:998:1: ( ( rule__ArrayType__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:999:1: ( rule__ArrayType__Group__0 )
            {
             before(grammarAccess.getArrayTypeAccess().getGroup()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1000:1: ( rule__ArrayType__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1000:2: rule__ArrayType__Group__0
            {
            pushFollow(FOLLOW_rule__ArrayType__Group__0_in_ruleArrayType2074);
            rule__ArrayType__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getArrayTypeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleArrayType"


    // $ANTLR start "entryRuleMapType"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1012:1: entryRuleMapType : ruleMapType EOF ;
    public final void entryRuleMapType() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1013:1: ( ruleMapType EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1014:1: ruleMapType EOF
            {
             before(grammarAccess.getMapTypeRule()); 
            pushFollow(FOLLOW_ruleMapType_in_entryRuleMapType2101);
            ruleMapType();

            state._fsp--;

             after(grammarAccess.getMapTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMapType2108); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleMapType"


    // $ANTLR start "ruleMapType"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1021:1: ruleMapType : ( ( rule__MapType__Group__0 ) ) ;
    public final void ruleMapType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1025:2: ( ( ( rule__MapType__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1026:1: ( ( rule__MapType__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1026:1: ( ( rule__MapType__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1027:1: ( rule__MapType__Group__0 )
            {
             before(grammarAccess.getMapTypeAccess().getGroup()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1028:1: ( rule__MapType__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1028:2: rule__MapType__Group__0
            {
            pushFollow(FOLLOW_rule__MapType__Group__0_in_ruleMapType2134);
            rule__MapType__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getMapTypeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleMapType"


    // $ANTLR start "entryRuleUnionType"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1040:1: entryRuleUnionType : ruleUnionType EOF ;
    public final void entryRuleUnionType() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1041:1: ( ruleUnionType EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1042:1: ruleUnionType EOF
            {
             before(grammarAccess.getUnionTypeRule()); 
            pushFollow(FOLLOW_ruleUnionType_in_entryRuleUnionType2161);
            ruleUnionType();

            state._fsp--;

             after(grammarAccess.getUnionTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleUnionType2168); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleUnionType"


    // $ANTLR start "ruleUnionType"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1049:1: ruleUnionType : ( ( rule__UnionType__Group__0 ) ) ;
    public final void ruleUnionType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1053:2: ( ( ( rule__UnionType__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1054:1: ( ( rule__UnionType__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1054:1: ( ( rule__UnionType__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1055:1: ( rule__UnionType__Group__0 )
            {
             before(grammarAccess.getUnionTypeAccess().getGroup()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1056:1: ( rule__UnionType__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1056:2: rule__UnionType__Group__0
            {
            pushFollow(FOLLOW_rule__UnionType__Group__0_in_ruleUnionType2194);
            rule__UnionType__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getUnionTypeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleUnionType"


    // $ANTLR start "entryRuleUnionFieldType"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1068:1: entryRuleUnionFieldType : ruleUnionFieldType EOF ;
    public final void entryRuleUnionFieldType() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1069:1: ( ruleUnionFieldType EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1070:1: ruleUnionFieldType EOF
            {
             before(grammarAccess.getUnionFieldTypeRule()); 
            pushFollow(FOLLOW_ruleUnionFieldType_in_entryRuleUnionFieldType2221);
            ruleUnionFieldType();

            state._fsp--;

             after(grammarAccess.getUnionFieldTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleUnionFieldType2228); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleUnionFieldType"


    // $ANTLR start "ruleUnionFieldType"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1077:1: ruleUnionFieldType : ( ( rule__UnionFieldType__Alternatives ) ) ;
    public final void ruleUnionFieldType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1081:2: ( ( ( rule__UnionFieldType__Alternatives ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1082:1: ( ( rule__UnionFieldType__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1082:1: ( ( rule__UnionFieldType__Alternatives ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1083:1: ( rule__UnionFieldType__Alternatives )
            {
             before(grammarAccess.getUnionFieldTypeAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1084:1: ( rule__UnionFieldType__Alternatives )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1084:2: rule__UnionFieldType__Alternatives
            {
            pushFollow(FOLLOW_rule__UnionFieldType__Alternatives_in_ruleUnionFieldType2254);
            rule__UnionFieldType__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getUnionFieldTypeAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleUnionFieldType"


    // $ANTLR start "entryRuleConstValue"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1096:1: entryRuleConstValue : ruleConstValue EOF ;
    public final void entryRuleConstValue() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1097:1: ( ruleConstValue EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1098:1: ruleConstValue EOF
            {
             before(grammarAccess.getConstValueRule()); 
            pushFollow(FOLLOW_ruleConstValue_in_entryRuleConstValue2281);
            ruleConstValue();

            state._fsp--;

             after(grammarAccess.getConstValueRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleConstValue2288); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleConstValue"


    // $ANTLR start "ruleConstValue"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1105:1: ruleConstValue : ( ( rule__ConstValue__Alternatives ) ) ;
    public final void ruleConstValue() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1109:2: ( ( ( rule__ConstValue__Alternatives ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1110:1: ( ( rule__ConstValue__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1110:1: ( ( rule__ConstValue__Alternatives ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1111:1: ( rule__ConstValue__Alternatives )
            {
             before(grammarAccess.getConstValueAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1112:1: ( rule__ConstValue__Alternatives )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1112:2: rule__ConstValue__Alternatives
            {
            pushFollow(FOLLOW_rule__ConstValue__Alternatives_in_ruleConstValue2314);
            rule__ConstValue__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getConstValueAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleConstValue"


    // $ANTLR start "entryRuleListSeparator"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1124:1: entryRuleListSeparator : ruleListSeparator EOF ;
    public final void entryRuleListSeparator() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1125:1: ( ruleListSeparator EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1126:1: ruleListSeparator EOF
            {
             before(grammarAccess.getListSeparatorRule()); 
            pushFollow(FOLLOW_ruleListSeparator_in_entryRuleListSeparator2341);
            ruleListSeparator();

            state._fsp--;

             after(grammarAccess.getListSeparatorRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleListSeparator2348); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleListSeparator"


    // $ANTLR start "ruleListSeparator"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1133:1: ruleListSeparator : ( ',' ) ;
    public final void ruleListSeparator() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1137:2: ( ( ',' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1138:1: ( ',' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1138:1: ( ',' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1139:1: ','
            {
             before(grammarAccess.getListSeparatorAccess().getCommaKeyword()); 
            match(input,13,FOLLOW_13_in_ruleListSeparator2375); 
             after(grammarAccess.getListSeparatorAccess().getCommaKeyword()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleListSeparator"


    // $ANTLR start "entryRuleEndLine"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1156:1: entryRuleEndLine : ruleEndLine EOF ;
    public final void entryRuleEndLine() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1157:1: ( ruleEndLine EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1158:1: ruleEndLine EOF
            {
             before(grammarAccess.getEndLineRule()); 
            pushFollow(FOLLOW_ruleEndLine_in_entryRuleEndLine2405);
            ruleEndLine();

            state._fsp--;

             after(grammarAccess.getEndLineRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleEndLine2412); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleEndLine"


    // $ANTLR start "ruleEndLine"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1165:1: ruleEndLine : ( ';' ) ;
    public final void ruleEndLine() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1169:2: ( ( ';' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1170:1: ( ';' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1170:1: ( ';' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1171:1: ';'
            {
             before(grammarAccess.getEndLineAccess().getSemicolonKeyword()); 
            match(input,14,FOLLOW_14_in_ruleEndLine2439); 
             after(grammarAccess.getEndLineAccess().getSemicolonKeyword()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleEndLine"


    // $ANTLR start "ruleBOOL"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1187:1: ruleBOOL : ( ( rule__BOOL__Alternatives ) ) ;
    public final void ruleBOOL() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1191:1: ( ( ( rule__BOOL__Alternatives ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1192:1: ( ( rule__BOOL__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1192:1: ( ( rule__BOOL__Alternatives ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1193:1: ( rule__BOOL__Alternatives )
            {
             before(grammarAccess.getBOOLAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1194:1: ( rule__BOOL__Alternatives )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1194:2: rule__BOOL__Alternatives
            {
            pushFollow(FOLLOW_rule__BOOL__Alternatives_in_ruleBOOL2477);
            rule__BOOL__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getBOOLAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBOOL"


    // $ANTLR start "ruleBaseType"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1206:1: ruleBaseType : ( ( rule__BaseType__Alternatives ) ) ;
    public final void ruleBaseType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1210:1: ( ( ( rule__BaseType__Alternatives ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1211:1: ( ( rule__BaseType__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1211:1: ( ( rule__BaseType__Alternatives ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1212:1: ( rule__BaseType__Alternatives )
            {
             before(grammarAccess.getBaseTypeAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1213:1: ( rule__BaseType__Alternatives )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1213:2: rule__BaseType__Alternatives
            {
            pushFollow(FOLLOW_rule__BaseType__Alternatives_in_ruleBaseType2513);
            rule__BaseType__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getBaseTypeAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBaseType"


    // $ANTLR start "rule__Definitions__Alternatives"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1224:1: rule__Definitions__Alternatives : ( ( ruleEnum ) | ( ruleFixedLengthField ) | ( ruleRecord ) | ( ruleError ) | ( ruleBaseTypeRef ) | ( ruleComplexTypeRef ) | ( ruleRPCMessage ) | ( ruleAnnotation ) );
    public final void rule__Definitions__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1228:1: ( ( ruleEnum ) | ( ruleFixedLengthField ) | ( ruleRecord ) | ( ruleError ) | ( ruleBaseTypeRef ) | ( ruleComplexTypeRef ) | ( ruleRPCMessage ) | ( ruleAnnotation ) )
            int alt1=8;
            alt1 = dfa1.predict(input);
            switch (alt1) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1229:1: ( ruleEnum )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1229:1: ( ruleEnum )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1230:1: ruleEnum
                    {
                     before(grammarAccess.getDefinitionsAccess().getEnumParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleEnum_in_rule__Definitions__Alternatives2548);
                    ruleEnum();

                    state._fsp--;

                     after(grammarAccess.getDefinitionsAccess().getEnumParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1235:6: ( ruleFixedLengthField )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1235:6: ( ruleFixedLengthField )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1236:1: ruleFixedLengthField
                    {
                     before(grammarAccess.getDefinitionsAccess().getFixedLengthFieldParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleFixedLengthField_in_rule__Definitions__Alternatives2565);
                    ruleFixedLengthField();

                    state._fsp--;

                     after(grammarAccess.getDefinitionsAccess().getFixedLengthFieldParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1241:6: ( ruleRecord )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1241:6: ( ruleRecord )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1242:1: ruleRecord
                    {
                     before(grammarAccess.getDefinitionsAccess().getRecordParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleRecord_in_rule__Definitions__Alternatives2582);
                    ruleRecord();

                    state._fsp--;

                     after(grammarAccess.getDefinitionsAccess().getRecordParserRuleCall_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1247:6: ( ruleError )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1247:6: ( ruleError )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1248:1: ruleError
                    {
                     before(grammarAccess.getDefinitionsAccess().getErrorParserRuleCall_3()); 
                    pushFollow(FOLLOW_ruleError_in_rule__Definitions__Alternatives2599);
                    ruleError();

                    state._fsp--;

                     after(grammarAccess.getDefinitionsAccess().getErrorParserRuleCall_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1253:6: ( ruleBaseTypeRef )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1253:6: ( ruleBaseTypeRef )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1254:1: ruleBaseTypeRef
                    {
                     before(grammarAccess.getDefinitionsAccess().getBaseTypeRefParserRuleCall_4()); 
                    pushFollow(FOLLOW_ruleBaseTypeRef_in_rule__Definitions__Alternatives2616);
                    ruleBaseTypeRef();

                    state._fsp--;

                     after(grammarAccess.getDefinitionsAccess().getBaseTypeRefParserRuleCall_4()); 

                    }


                    }
                    break;
                case 6 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1259:6: ( ruleComplexTypeRef )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1259:6: ( ruleComplexTypeRef )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1260:1: ruleComplexTypeRef
                    {
                     before(grammarAccess.getDefinitionsAccess().getComplexTypeRefParserRuleCall_5()); 
                    pushFollow(FOLLOW_ruleComplexTypeRef_in_rule__Definitions__Alternatives2633);
                    ruleComplexTypeRef();

                    state._fsp--;

                     after(grammarAccess.getDefinitionsAccess().getComplexTypeRefParserRuleCall_5()); 

                    }


                    }
                    break;
                case 7 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1265:6: ( ruleRPCMessage )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1265:6: ( ruleRPCMessage )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1266:1: ruleRPCMessage
                    {
                     before(grammarAccess.getDefinitionsAccess().getRPCMessageParserRuleCall_6()); 
                    pushFollow(FOLLOW_ruleRPCMessage_in_rule__Definitions__Alternatives2650);
                    ruleRPCMessage();

                    state._fsp--;

                     after(grammarAccess.getDefinitionsAccess().getRPCMessageParserRuleCall_6()); 

                    }


                    }
                    break;
                case 8 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1271:6: ( ruleAnnotation )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1271:6: ( ruleAnnotation )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1272:1: ruleAnnotation
                    {
                     before(grammarAccess.getDefinitionsAccess().getAnnotationParserRuleCall_7()); 
                    pushFollow(FOLLOW_ruleAnnotation_in_rule__Definitions__Alternatives2667);
                    ruleAnnotation();

                    state._fsp--;

                     after(grammarAccess.getDefinitionsAccess().getAnnotationParserRuleCall_7()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Definitions__Alternatives"


    // $ANTLR start "rule__ReservedIdentifiers__Alternatives"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1282:1: rule__ReservedIdentifiers__Alternatives : ( ( 'error' ) | ( 'record' ) | ( 'enum' ) | ( 'fixed' ) | ( 'import' ) | ( 'throws' ) );
    public final void rule__ReservedIdentifiers__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1286:1: ( ( 'error' ) | ( 'record' ) | ( 'enum' ) | ( 'fixed' ) | ( 'import' ) | ( 'throws' ) )
            int alt2=6;
            switch ( input.LA(1) ) {
            case 15:
                {
                alt2=1;
                }
                break;
            case 16:
                {
                alt2=2;
                }
                break;
            case 17:
                {
                alt2=3;
                }
                break;
            case 18:
                {
                alt2=4;
                }
                break;
            case 19:
                {
                alt2=5;
                }
                break;
            case 20:
                {
                alt2=6;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }

            switch (alt2) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1287:1: ( 'error' )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1287:1: ( 'error' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1288:1: 'error'
                    {
                     before(grammarAccess.getReservedIdentifiersAccess().getErrorKeyword_0()); 
                    match(input,15,FOLLOW_15_in_rule__ReservedIdentifiers__Alternatives2700); 
                     after(grammarAccess.getReservedIdentifiersAccess().getErrorKeyword_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1295:6: ( 'record' )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1295:6: ( 'record' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1296:1: 'record'
                    {
                     before(grammarAccess.getReservedIdentifiersAccess().getRecordKeyword_1()); 
                    match(input,16,FOLLOW_16_in_rule__ReservedIdentifiers__Alternatives2720); 
                     after(grammarAccess.getReservedIdentifiersAccess().getRecordKeyword_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1303:6: ( 'enum' )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1303:6: ( 'enum' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1304:1: 'enum'
                    {
                     before(grammarAccess.getReservedIdentifiersAccess().getEnumKeyword_2()); 
                    match(input,17,FOLLOW_17_in_rule__ReservedIdentifiers__Alternatives2740); 
                     after(grammarAccess.getReservedIdentifiersAccess().getEnumKeyword_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1311:6: ( 'fixed' )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1311:6: ( 'fixed' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1312:1: 'fixed'
                    {
                     before(grammarAccess.getReservedIdentifiersAccess().getFixedKeyword_3()); 
                    match(input,18,FOLLOW_18_in_rule__ReservedIdentifiers__Alternatives2760); 
                     after(grammarAccess.getReservedIdentifiersAccess().getFixedKeyword_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1319:6: ( 'import' )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1319:6: ( 'import' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1320:1: 'import'
                    {
                     before(grammarAccess.getReservedIdentifiersAccess().getImportKeyword_4()); 
                    match(input,19,FOLLOW_19_in_rule__ReservedIdentifiers__Alternatives2780); 
                     after(grammarAccess.getReservedIdentifiersAccess().getImportKeyword_4()); 

                    }


                    }
                    break;
                case 6 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1327:6: ( 'throws' )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1327:6: ( 'throws' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1328:1: 'throws'
                    {
                     before(grammarAccess.getReservedIdentifiersAccess().getThrowsKeyword_5()); 
                    match(input,20,FOLLOW_20_in_rule__ReservedIdentifiers__Alternatives2800); 
                     after(grammarAccess.getReservedIdentifiersAccess().getThrowsKeyword_5()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ReservedIdentifiers__Alternatives"


    // $ANTLR start "rule__Field__Alternatives"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1340:1: rule__Field__Alternatives : ( ( ( rule__Field__Group_0__0 ) ) | ( ( rule__Field__Group_1__0 ) ) | ( ruleUnionType ) );
    public final void rule__Field__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1344:1: ( ( ( rule__Field__Group_0__0 ) ) | ( ( rule__Field__Group_1__0 ) ) | ( ruleUnionType ) )
            int alt3=3;
            switch ( input.LA(1) ) {
            case 26:
            case 27:
            case 28:
            case 29:
            case 30:
            case 31:
            case 32:
            case 33:
            case 34:
            case 48:
            case 51:
                {
                alt3=1;
                }
                break;
            case RULE_ID:
                {
                alt3=2;
                }
                break;
            case 52:
                {
                alt3=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;
            }

            switch (alt3) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1345:1: ( ( rule__Field__Group_0__0 ) )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1345:1: ( ( rule__Field__Group_0__0 ) )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1346:1: ( rule__Field__Group_0__0 )
                    {
                     before(grammarAccess.getFieldAccess().getGroup_0()); 
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1347:1: ( rule__Field__Group_0__0 )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1347:2: rule__Field__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__Field__Group_0__0_in_rule__Field__Alternatives2834);
                    rule__Field__Group_0__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getFieldAccess().getGroup_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1351:6: ( ( rule__Field__Group_1__0 ) )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1351:6: ( ( rule__Field__Group_1__0 ) )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1352:1: ( rule__Field__Group_1__0 )
                    {
                     before(grammarAccess.getFieldAccess().getGroup_1()); 
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1353:1: ( rule__Field__Group_1__0 )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1353:2: rule__Field__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__Field__Group_1__0_in_rule__Field__Alternatives2852);
                    rule__Field__Group_1__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getFieldAccess().getGroup_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1357:6: ( ruleUnionType )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1357:6: ( ruleUnionType )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1358:1: ruleUnionType
                    {
                     before(grammarAccess.getFieldAccess().getUnionTypeParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleUnionType_in_rule__Field__Alternatives2870);
                    ruleUnionType();

                    state._fsp--;

                     after(grammarAccess.getFieldAccess().getUnionTypeParserRuleCall_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Alternatives"


    // $ANTLR start "rule__Name__Alternatives"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1368:1: rule__Name__Alternatives : ( ( ( rule__Name__ValueAssignment_0 ) ) | ( ( rule__Name__Group_1__0 ) ) );
    public final void rule__Name__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1372:1: ( ( ( rule__Name__ValueAssignment_0 ) ) | ( ( rule__Name__Group_1__0 ) ) )
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==RULE_ID) ) {
                alt4=1;
            }
            else if ( (LA4_0==41) ) {
                alt4=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);

                throw nvae;
            }
            switch (alt4) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1373:1: ( ( rule__Name__ValueAssignment_0 ) )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1373:1: ( ( rule__Name__ValueAssignment_0 ) )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1374:1: ( rule__Name__ValueAssignment_0 )
                    {
                     before(grammarAccess.getNameAccess().getValueAssignment_0()); 
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1375:1: ( rule__Name__ValueAssignment_0 )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1375:2: rule__Name__ValueAssignment_0
                    {
                    pushFollow(FOLLOW_rule__Name__ValueAssignment_0_in_rule__Name__Alternatives2902);
                    rule__Name__ValueAssignment_0();

                    state._fsp--;


                    }

                     after(grammarAccess.getNameAccess().getValueAssignment_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1379:6: ( ( rule__Name__Group_1__0 ) )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1379:6: ( ( rule__Name__Group_1__0 ) )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1380:1: ( rule__Name__Group_1__0 )
                    {
                     before(grammarAccess.getNameAccess().getGroup_1()); 
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1381:1: ( rule__Name__Group_1__0 )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1381:2: rule__Name__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__Name__Group_1__0_in_rule__Name__Alternatives2920);
                    rule__Name__Group_1__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getNameAccess().getGroup_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Name__Alternatives"


    // $ANTLR start "rule__ReturnType__Alternatives"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1390:1: rule__ReturnType__Alternatives : ( ( ruleBaseTypeRef ) | ( ( rule__ReturnType__TypeAssignment_1 ) ) );
    public final void rule__ReturnType__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1394:1: ( ( ruleBaseTypeRef ) | ( ( rule__ReturnType__TypeAssignment_1 ) ) )
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( ((LA5_0>=26 && LA5_0<=34)) ) {
                alt5=1;
            }
            else if ( (LA5_0==RULE_ID) ) {
                alt5=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 5, 0, input);

                throw nvae;
            }
            switch (alt5) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1395:1: ( ruleBaseTypeRef )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1395:1: ( ruleBaseTypeRef )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1396:1: ruleBaseTypeRef
                    {
                     before(grammarAccess.getReturnTypeAccess().getBaseTypeRefParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleBaseTypeRef_in_rule__ReturnType__Alternatives2953);
                    ruleBaseTypeRef();

                    state._fsp--;

                     after(grammarAccess.getReturnTypeAccess().getBaseTypeRefParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1401:6: ( ( rule__ReturnType__TypeAssignment_1 ) )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1401:6: ( ( rule__ReturnType__TypeAssignment_1 ) )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1402:1: ( rule__ReturnType__TypeAssignment_1 )
                    {
                     before(grammarAccess.getReturnTypeAccess().getTypeAssignment_1()); 
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1403:1: ( rule__ReturnType__TypeAssignment_1 )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1403:2: rule__ReturnType__TypeAssignment_1
                    {
                    pushFollow(FOLLOW_rule__ReturnType__TypeAssignment_1_in_rule__ReturnType__Alternatives2970);
                    rule__ReturnType__TypeAssignment_1();

                    state._fsp--;


                    }

                     after(grammarAccess.getReturnTypeAccess().getTypeAssignment_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ReturnType__Alternatives"


    // $ANTLR start "rule__Annotation__Alternatives"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1412:1: rule__Annotation__Alternatives : ( ( ruleAliasAnnotation ) | ( ruleOrderAnnotation ) | ( ruleNamespaceAnnotation ) | ( ruleJavaclassAnnotation ) );
    public final void rule__Annotation__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1416:1: ( ( ruleAliasAnnotation ) | ( ruleOrderAnnotation ) | ( ruleNamespaceAnnotation ) | ( ruleJavaclassAnnotation ) )
            int alt6=4;
            switch ( input.LA(1) ) {
            case 42:
                {
                alt6=1;
                }
                break;
            case 45:
                {
                alt6=2;
                }
                break;
            case 46:
                {
                alt6=3;
                }
                break;
            case 47:
                {
                alt6=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 6, 0, input);

                throw nvae;
            }

            switch (alt6) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1417:1: ( ruleAliasAnnotation )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1417:1: ( ruleAliasAnnotation )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1418:1: ruleAliasAnnotation
                    {
                     before(grammarAccess.getAnnotationAccess().getAliasAnnotationParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleAliasAnnotation_in_rule__Annotation__Alternatives3003);
                    ruleAliasAnnotation();

                    state._fsp--;

                     after(grammarAccess.getAnnotationAccess().getAliasAnnotationParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1423:6: ( ruleOrderAnnotation )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1423:6: ( ruleOrderAnnotation )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1424:1: ruleOrderAnnotation
                    {
                     before(grammarAccess.getAnnotationAccess().getOrderAnnotationParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleOrderAnnotation_in_rule__Annotation__Alternatives3020);
                    ruleOrderAnnotation();

                    state._fsp--;

                     after(grammarAccess.getAnnotationAccess().getOrderAnnotationParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1429:6: ( ruleNamespaceAnnotation )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1429:6: ( ruleNamespaceAnnotation )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1430:1: ruleNamespaceAnnotation
                    {
                     before(grammarAccess.getAnnotationAccess().getNamespaceAnnotationParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleNamespaceAnnotation_in_rule__Annotation__Alternatives3037);
                    ruleNamespaceAnnotation();

                    state._fsp--;

                     after(grammarAccess.getAnnotationAccess().getNamespaceAnnotationParserRuleCall_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1435:6: ( ruleJavaclassAnnotation )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1435:6: ( ruleJavaclassAnnotation )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1436:1: ruleJavaclassAnnotation
                    {
                     before(grammarAccess.getAnnotationAccess().getJavaclassAnnotationParserRuleCall_3()); 
                    pushFollow(FOLLOW_ruleJavaclassAnnotation_in_rule__Annotation__Alternatives3054);
                    ruleJavaclassAnnotation();

                    state._fsp--;

                     after(grammarAccess.getAnnotationAccess().getJavaclassAnnotationParserRuleCall_3()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Annotation__Alternatives"


    // $ANTLR start "rule__ComplexTypeRef__Alternatives"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1446:1: rule__ComplexTypeRef__Alternatives : ( ( ruleArrayType ) | ( ruleMapType ) );
    public final void rule__ComplexTypeRef__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1450:1: ( ( ruleArrayType ) | ( ruleMapType ) )
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==48) ) {
                alt7=1;
            }
            else if ( (LA7_0==51) ) {
                alt7=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 7, 0, input);

                throw nvae;
            }
            switch (alt7) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1451:1: ( ruleArrayType )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1451:1: ( ruleArrayType )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1452:1: ruleArrayType
                    {
                     before(grammarAccess.getComplexTypeRefAccess().getArrayTypeParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleArrayType_in_rule__ComplexTypeRef__Alternatives3086);
                    ruleArrayType();

                    state._fsp--;

                     after(grammarAccess.getComplexTypeRefAccess().getArrayTypeParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1457:6: ( ruleMapType )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1457:6: ( ruleMapType )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1458:1: ruleMapType
                    {
                     before(grammarAccess.getComplexTypeRefAccess().getMapTypeParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleMapType_in_rule__ComplexTypeRef__Alternatives3103);
                    ruleMapType();

                    state._fsp--;

                     after(grammarAccess.getComplexTypeRefAccess().getMapTypeParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ComplexTypeRef__Alternatives"


    // $ANTLR start "rule__NumberRef__Alternatives"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1468:1: rule__NumberRef__Alternatives : ( ( ruleIntRef ) | ( ruleHexRef ) | ( ruleDoubleRef ) );
    public final void rule__NumberRef__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1472:1: ( ( ruleIntRef ) | ( ruleHexRef ) | ( ruleDoubleRef ) )
            int alt8=3;
            switch ( input.LA(1) ) {
            case RULE_INT:
                {
                alt8=1;
                }
                break;
            case RULE_HEX:
                {
                alt8=2;
                }
                break;
            case RULE_DOUBLE:
                {
                alt8=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 8, 0, input);

                throw nvae;
            }

            switch (alt8) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1473:1: ( ruleIntRef )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1473:1: ( ruleIntRef )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1474:1: ruleIntRef
                    {
                     before(grammarAccess.getNumberRefAccess().getIntRefParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleIntRef_in_rule__NumberRef__Alternatives3135);
                    ruleIntRef();

                    state._fsp--;

                     after(grammarAccess.getNumberRefAccess().getIntRefParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1479:6: ( ruleHexRef )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1479:6: ( ruleHexRef )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1480:1: ruleHexRef
                    {
                     before(grammarAccess.getNumberRefAccess().getHexRefParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleHexRef_in_rule__NumberRef__Alternatives3152);
                    ruleHexRef();

                    state._fsp--;

                     after(grammarAccess.getNumberRefAccess().getHexRefParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1485:6: ( ruleDoubleRef )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1485:6: ( ruleDoubleRef )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1486:1: ruleDoubleRef
                    {
                     before(grammarAccess.getNumberRefAccess().getDoubleRefParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleDoubleRef_in_rule__NumberRef__Alternatives3169);
                    ruleDoubleRef();

                    state._fsp--;

                     after(grammarAccess.getNumberRefAccess().getDoubleRefParserRuleCall_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumberRef__Alternatives"


    // $ANTLR start "rule__ImportType__Alternatives"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1496:1: rule__ImportType__Alternatives : ( ( 'idl' ) | ( 'protocol' ) | ( 'schema' ) );
    public final void rule__ImportType__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1500:1: ( ( 'idl' ) | ( 'protocol' ) | ( 'schema' ) )
            int alt9=3;
            switch ( input.LA(1) ) {
            case 21:
                {
                alt9=1;
                }
                break;
            case 22:
                {
                alt9=2;
                }
                break;
            case 23:
                {
                alt9=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 9, 0, input);

                throw nvae;
            }

            switch (alt9) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1501:1: ( 'idl' )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1501:1: ( 'idl' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1502:1: 'idl'
                    {
                     before(grammarAccess.getImportTypeAccess().getIdlKeyword_0()); 
                    match(input,21,FOLLOW_21_in_rule__ImportType__Alternatives3202); 
                     after(grammarAccess.getImportTypeAccess().getIdlKeyword_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1509:6: ( 'protocol' )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1509:6: ( 'protocol' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1510:1: 'protocol'
                    {
                     before(grammarAccess.getImportTypeAccess().getProtocolKeyword_1()); 
                    match(input,22,FOLLOW_22_in_rule__ImportType__Alternatives3222); 
                     after(grammarAccess.getImportTypeAccess().getProtocolKeyword_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1517:6: ( 'schema' )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1517:6: ( 'schema' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1518:1: 'schema'
                    {
                     before(grammarAccess.getImportTypeAccess().getSchemaKeyword_2()); 
                    match(input,23,FOLLOW_23_in_rule__ImportType__Alternatives3242); 
                     after(grammarAccess.getImportTypeAccess().getSchemaKeyword_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ImportType__Alternatives"


    // $ANTLR start "rule__FieldType__Alternatives"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1530:1: rule__FieldType__Alternatives : ( ( ruleBaseTypeRef ) | ( ruleComplexTypeRef ) );
    public final void rule__FieldType__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1534:1: ( ( ruleBaseTypeRef ) | ( ruleComplexTypeRef ) )
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( ((LA10_0>=26 && LA10_0<=34)) ) {
                alt10=1;
            }
            else if ( (LA10_0==48||LA10_0==51) ) {
                alt10=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 10, 0, input);

                throw nvae;
            }
            switch (alt10) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1535:1: ( ruleBaseTypeRef )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1535:1: ( ruleBaseTypeRef )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1536:1: ruleBaseTypeRef
                    {
                     before(grammarAccess.getFieldTypeAccess().getBaseTypeRefParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleBaseTypeRef_in_rule__FieldType__Alternatives3276);
                    ruleBaseTypeRef();

                    state._fsp--;

                     after(grammarAccess.getFieldTypeAccess().getBaseTypeRefParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1541:6: ( ruleComplexTypeRef )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1541:6: ( ruleComplexTypeRef )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1542:1: ruleComplexTypeRef
                    {
                     before(grammarAccess.getFieldTypeAccess().getComplexTypeRefParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleComplexTypeRef_in_rule__FieldType__Alternatives3293);
                    ruleComplexTypeRef();

                    state._fsp--;

                     after(grammarAccess.getFieldTypeAccess().getComplexTypeRefParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldType__Alternatives"


    // $ANTLR start "rule__UnionFieldType__Alternatives"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1552:1: rule__UnionFieldType__Alternatives : ( ( ruleBaseTypeRef ) | ( ruleDefType ) );
    public final void rule__UnionFieldType__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1556:1: ( ( ruleBaseTypeRef ) | ( ruleDefType ) )
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( ((LA11_0>=26 && LA11_0<=34)) ) {
                alt11=1;
            }
            else if ( (LA11_0==RULE_ID) ) {
                alt11=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 11, 0, input);

                throw nvae;
            }
            switch (alt11) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1557:1: ( ruleBaseTypeRef )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1557:1: ( ruleBaseTypeRef )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1558:1: ruleBaseTypeRef
                    {
                     before(grammarAccess.getUnionFieldTypeAccess().getBaseTypeRefParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleBaseTypeRef_in_rule__UnionFieldType__Alternatives3325);
                    ruleBaseTypeRef();

                    state._fsp--;

                     after(grammarAccess.getUnionFieldTypeAccess().getBaseTypeRefParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1563:6: ( ruleDefType )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1563:6: ( ruleDefType )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1564:1: ruleDefType
                    {
                     before(grammarAccess.getUnionFieldTypeAccess().getDefTypeParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleDefType_in_rule__UnionFieldType__Alternatives3342);
                    ruleDefType();

                    state._fsp--;

                     after(grammarAccess.getUnionFieldTypeAccess().getDefTypeParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionFieldType__Alternatives"


    // $ANTLR start "rule__ConstValue__Alternatives"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1574:1: rule__ConstValue__Alternatives : ( ( ruleBooleanRef ) | ( ruleNumberRef ) | ( ruleStringRef ) );
    public final void rule__ConstValue__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1578:1: ( ( ruleBooleanRef ) | ( ruleNumberRef ) | ( ruleStringRef ) )
            int alt12=3;
            switch ( input.LA(1) ) {
            case 24:
            case 25:
                {
                alt12=1;
                }
                break;
            case RULE_INT:
            case RULE_HEX:
            case RULE_DOUBLE:
                {
                alt12=2;
                }
                break;
            case RULE_STRING:
                {
                alt12=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 12, 0, input);

                throw nvae;
            }

            switch (alt12) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1579:1: ( ruleBooleanRef )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1579:1: ( ruleBooleanRef )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1580:1: ruleBooleanRef
                    {
                     before(grammarAccess.getConstValueAccess().getBooleanRefParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleBooleanRef_in_rule__ConstValue__Alternatives3374);
                    ruleBooleanRef();

                    state._fsp--;

                     after(grammarAccess.getConstValueAccess().getBooleanRefParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1585:6: ( ruleNumberRef )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1585:6: ( ruleNumberRef )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1586:1: ruleNumberRef
                    {
                     before(grammarAccess.getConstValueAccess().getNumberRefParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleNumberRef_in_rule__ConstValue__Alternatives3391);
                    ruleNumberRef();

                    state._fsp--;

                     after(grammarAccess.getConstValueAccess().getNumberRefParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1591:6: ( ruleStringRef )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1591:6: ( ruleStringRef )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1592:1: ruleStringRef
                    {
                     before(grammarAccess.getConstValueAccess().getStringRefParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleStringRef_in_rule__ConstValue__Alternatives3408);
                    ruleStringRef();

                    state._fsp--;

                     after(grammarAccess.getConstValueAccess().getStringRefParserRuleCall_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConstValue__Alternatives"


    // $ANTLR start "rule__BOOL__Alternatives"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1602:1: rule__BOOL__Alternatives : ( ( ( 'false' ) ) | ( ( 'true' ) ) );
    public final void rule__BOOL__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1606:1: ( ( ( 'false' ) ) | ( ( 'true' ) ) )
            int alt13=2;
            int LA13_0 = input.LA(1);

            if ( (LA13_0==24) ) {
                alt13=1;
            }
            else if ( (LA13_0==25) ) {
                alt13=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 13, 0, input);

                throw nvae;
            }
            switch (alt13) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1607:1: ( ( 'false' ) )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1607:1: ( ( 'false' ) )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1608:1: ( 'false' )
                    {
                     before(grammarAccess.getBOOLAccess().getFalseEnumLiteralDeclaration_0()); 
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1609:1: ( 'false' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1609:3: 'false'
                    {
                    match(input,24,FOLLOW_24_in_rule__BOOL__Alternatives3441); 

                    }

                     after(grammarAccess.getBOOLAccess().getFalseEnumLiteralDeclaration_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1614:6: ( ( 'true' ) )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1614:6: ( ( 'true' ) )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1615:1: ( 'true' )
                    {
                     before(grammarAccess.getBOOLAccess().getTrueEnumLiteralDeclaration_1()); 
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1616:1: ( 'true' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1616:3: 'true'
                    {
                    match(input,25,FOLLOW_25_in_rule__BOOL__Alternatives3462); 

                    }

                     after(grammarAccess.getBOOLAccess().getTrueEnumLiteralDeclaration_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BOOL__Alternatives"


    // $ANTLR start "rule__BaseType__Alternatives"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1626:1: rule__BaseType__Alternatives : ( ( ( 'int' ) ) | ( ( 'long' ) ) | ( ( 'string' ) ) | ( ( 'boolean' ) ) | ( ( 'float' ) ) | ( ( 'double' ) ) | ( ( 'null' ) ) | ( ( 'bytes' ) ) | ( ( 'void' ) ) );
    public final void rule__BaseType__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1630:1: ( ( ( 'int' ) ) | ( ( 'long' ) ) | ( ( 'string' ) ) | ( ( 'boolean' ) ) | ( ( 'float' ) ) | ( ( 'double' ) ) | ( ( 'null' ) ) | ( ( 'bytes' ) ) | ( ( 'void' ) ) )
            int alt14=9;
            switch ( input.LA(1) ) {
            case 26:
                {
                alt14=1;
                }
                break;
            case 27:
                {
                alt14=2;
                }
                break;
            case 28:
                {
                alt14=3;
                }
                break;
            case 29:
                {
                alt14=4;
                }
                break;
            case 30:
                {
                alt14=5;
                }
                break;
            case 31:
                {
                alt14=6;
                }
                break;
            case 32:
                {
                alt14=7;
                }
                break;
            case 33:
                {
                alt14=8;
                }
                break;
            case 34:
                {
                alt14=9;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 14, 0, input);

                throw nvae;
            }

            switch (alt14) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1631:1: ( ( 'int' ) )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1631:1: ( ( 'int' ) )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1632:1: ( 'int' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getIntEnumLiteralDeclaration_0()); 
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1633:1: ( 'int' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1633:3: 'int'
                    {
                    match(input,26,FOLLOW_26_in_rule__BaseType__Alternatives3498); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getIntEnumLiteralDeclaration_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1638:6: ( ( 'long' ) )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1638:6: ( ( 'long' ) )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1639:1: ( 'long' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getLongEnumLiteralDeclaration_1()); 
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1640:1: ( 'long' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1640:3: 'long'
                    {
                    match(input,27,FOLLOW_27_in_rule__BaseType__Alternatives3519); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getLongEnumLiteralDeclaration_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1645:6: ( ( 'string' ) )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1645:6: ( ( 'string' ) )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1646:1: ( 'string' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getStringEnumLiteralDeclaration_2()); 
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1647:1: ( 'string' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1647:3: 'string'
                    {
                    match(input,28,FOLLOW_28_in_rule__BaseType__Alternatives3540); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getStringEnumLiteralDeclaration_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1652:6: ( ( 'boolean' ) )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1652:6: ( ( 'boolean' ) )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1653:1: ( 'boolean' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getBooleanEnumLiteralDeclaration_3()); 
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1654:1: ( 'boolean' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1654:3: 'boolean'
                    {
                    match(input,29,FOLLOW_29_in_rule__BaseType__Alternatives3561); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getBooleanEnumLiteralDeclaration_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1659:6: ( ( 'float' ) )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1659:6: ( ( 'float' ) )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1660:1: ( 'float' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getFloatEnumLiteralDeclaration_4()); 
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1661:1: ( 'float' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1661:3: 'float'
                    {
                    match(input,30,FOLLOW_30_in_rule__BaseType__Alternatives3582); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getFloatEnumLiteralDeclaration_4()); 

                    }


                    }
                    break;
                case 6 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1666:6: ( ( 'double' ) )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1666:6: ( ( 'double' ) )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1667:1: ( 'double' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getDoubleEnumLiteralDeclaration_5()); 
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1668:1: ( 'double' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1668:3: 'double'
                    {
                    match(input,31,FOLLOW_31_in_rule__BaseType__Alternatives3603); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getDoubleEnumLiteralDeclaration_5()); 

                    }


                    }
                    break;
                case 7 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1673:6: ( ( 'null' ) )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1673:6: ( ( 'null' ) )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1674:1: ( 'null' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getNullEnumLiteralDeclaration_6()); 
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1675:1: ( 'null' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1675:3: 'null'
                    {
                    match(input,32,FOLLOW_32_in_rule__BaseType__Alternatives3624); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getNullEnumLiteralDeclaration_6()); 

                    }


                    }
                    break;
                case 8 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1680:6: ( ( 'bytes' ) )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1680:6: ( ( 'bytes' ) )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1681:1: ( 'bytes' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getBytesEnumLiteralDeclaration_7()); 
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1682:1: ( 'bytes' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1682:3: 'bytes'
                    {
                    match(input,33,FOLLOW_33_in_rule__BaseType__Alternatives3645); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getBytesEnumLiteralDeclaration_7()); 

                    }


                    }
                    break;
                case 9 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1687:6: ( ( 'void' ) )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1687:6: ( ( 'void' ) )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1688:1: ( 'void' )
                    {
                     before(grammarAccess.getBaseTypeAccess().getVoidEnumLiteralDeclaration_8()); 
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1689:1: ( 'void' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1689:3: 'void'
                    {
                    match(input,34,FOLLOW_34_in_rule__BaseType__Alternatives3666); 

                    }

                     after(grammarAccess.getBaseTypeAccess().getVoidEnumLiteralDeclaration_8()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BaseType__Alternatives"


    // $ANTLR start "rule__AvroIdl__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1701:1: rule__AvroIdl__Group__0 : rule__AvroIdl__Group__0__Impl rule__AvroIdl__Group__1 ;
    public final void rule__AvroIdl__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1705:1: ( rule__AvroIdl__Group__0__Impl rule__AvroIdl__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1706:2: rule__AvroIdl__Group__0__Impl rule__AvroIdl__Group__1
            {
            pushFollow(FOLLOW_rule__AvroIdl__Group__0__Impl_in_rule__AvroIdl__Group__03699);
            rule__AvroIdl__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__AvroIdl__Group__1_in_rule__AvroIdl__Group__03702);
            rule__AvroIdl__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroIdl__Group__0"


    // $ANTLR start "rule__AvroIdl__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1713:1: rule__AvroIdl__Group__0__Impl : ( ( rule__AvroIdl__NameSpaceAssignment_0 )? ) ;
    public final void rule__AvroIdl__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1717:1: ( ( ( rule__AvroIdl__NameSpaceAssignment_0 )? ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1718:1: ( ( rule__AvroIdl__NameSpaceAssignment_0 )? )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1718:1: ( ( rule__AvroIdl__NameSpaceAssignment_0 )? )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1719:1: ( rule__AvroIdl__NameSpaceAssignment_0 )?
            {
             before(grammarAccess.getAvroIdlAccess().getNameSpaceAssignment_0()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1720:1: ( rule__AvroIdl__NameSpaceAssignment_0 )?
            int alt15=2;
            int LA15_0 = input.LA(1);

            if ( (LA15_0==46) ) {
                alt15=1;
            }
            switch (alt15) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1720:2: rule__AvroIdl__NameSpaceAssignment_0
                    {
                    pushFollow(FOLLOW_rule__AvroIdl__NameSpaceAssignment_0_in_rule__AvroIdl__Group__0__Impl3729);
                    rule__AvroIdl__NameSpaceAssignment_0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getAvroIdlAccess().getNameSpaceAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroIdl__Group__0__Impl"


    // $ANTLR start "rule__AvroIdl__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1730:1: rule__AvroIdl__Group__1 : rule__AvroIdl__Group__1__Impl ;
    public final void rule__AvroIdl__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1734:1: ( rule__AvroIdl__Group__1__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1735:2: rule__AvroIdl__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__AvroIdl__Group__1__Impl_in_rule__AvroIdl__Group__13760);
            rule__AvroIdl__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroIdl__Group__1"


    // $ANTLR start "rule__AvroIdl__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1741:1: rule__AvroIdl__Group__1__Impl : ( ( rule__AvroIdl__ProtocolAssignment_1 ) ) ;
    public final void rule__AvroIdl__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1745:1: ( ( ( rule__AvroIdl__ProtocolAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1746:1: ( ( rule__AvroIdl__ProtocolAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1746:1: ( ( rule__AvroIdl__ProtocolAssignment_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1747:1: ( rule__AvroIdl__ProtocolAssignment_1 )
            {
             before(grammarAccess.getAvroIdlAccess().getProtocolAssignment_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1748:1: ( rule__AvroIdl__ProtocolAssignment_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1748:2: rule__AvroIdl__ProtocolAssignment_1
            {
            pushFollow(FOLLOW_rule__AvroIdl__ProtocolAssignment_1_in_rule__AvroIdl__Group__1__Impl3787);
            rule__AvroIdl__ProtocolAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getAvroIdlAccess().getProtocolAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroIdl__Group__1__Impl"


    // $ANTLR start "rule__Protocol__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1762:1: rule__Protocol__Group__0 : rule__Protocol__Group__0__Impl rule__Protocol__Group__1 ;
    public final void rule__Protocol__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1766:1: ( rule__Protocol__Group__0__Impl rule__Protocol__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1767:2: rule__Protocol__Group__0__Impl rule__Protocol__Group__1
            {
            pushFollow(FOLLOW_rule__Protocol__Group__0__Impl_in_rule__Protocol__Group__03821);
            rule__Protocol__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Protocol__Group__1_in_rule__Protocol__Group__03824);
            rule__Protocol__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Protocol__Group__0"


    // $ANTLR start "rule__Protocol__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1774:1: rule__Protocol__Group__0__Impl : ( 'protocol' ) ;
    public final void rule__Protocol__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1778:1: ( ( 'protocol' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1779:1: ( 'protocol' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1779:1: ( 'protocol' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1780:1: 'protocol'
            {
             before(grammarAccess.getProtocolAccess().getProtocolKeyword_0()); 
            match(input,22,FOLLOW_22_in_rule__Protocol__Group__0__Impl3852); 
             after(grammarAccess.getProtocolAccess().getProtocolKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Protocol__Group__0__Impl"


    // $ANTLR start "rule__Protocol__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1793:1: rule__Protocol__Group__1 : rule__Protocol__Group__1__Impl rule__Protocol__Group__2 ;
    public final void rule__Protocol__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1797:1: ( rule__Protocol__Group__1__Impl rule__Protocol__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1798:2: rule__Protocol__Group__1__Impl rule__Protocol__Group__2
            {
            pushFollow(FOLLOW_rule__Protocol__Group__1__Impl_in_rule__Protocol__Group__13883);
            rule__Protocol__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Protocol__Group__2_in_rule__Protocol__Group__13886);
            rule__Protocol__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Protocol__Group__1"


    // $ANTLR start "rule__Protocol__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1805:1: rule__Protocol__Group__1__Impl : ( ( rule__Protocol__ProtocolNameAssignment_1 ) ) ;
    public final void rule__Protocol__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1809:1: ( ( ( rule__Protocol__ProtocolNameAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1810:1: ( ( rule__Protocol__ProtocolNameAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1810:1: ( ( rule__Protocol__ProtocolNameAssignment_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1811:1: ( rule__Protocol__ProtocolNameAssignment_1 )
            {
             before(grammarAccess.getProtocolAccess().getProtocolNameAssignment_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1812:1: ( rule__Protocol__ProtocolNameAssignment_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1812:2: rule__Protocol__ProtocolNameAssignment_1
            {
            pushFollow(FOLLOW_rule__Protocol__ProtocolNameAssignment_1_in_rule__Protocol__Group__1__Impl3913);
            rule__Protocol__ProtocolNameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getProtocolAccess().getProtocolNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Protocol__Group__1__Impl"


    // $ANTLR start "rule__Protocol__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1822:1: rule__Protocol__Group__2 : rule__Protocol__Group__2__Impl rule__Protocol__Group__3 ;
    public final void rule__Protocol__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1826:1: ( rule__Protocol__Group__2__Impl rule__Protocol__Group__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1827:2: rule__Protocol__Group__2__Impl rule__Protocol__Group__3
            {
            pushFollow(FOLLOW_rule__Protocol__Group__2__Impl_in_rule__Protocol__Group__23943);
            rule__Protocol__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Protocol__Group__3_in_rule__Protocol__Group__23946);
            rule__Protocol__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Protocol__Group__2"


    // $ANTLR start "rule__Protocol__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1834:1: rule__Protocol__Group__2__Impl : ( '{' ) ;
    public final void rule__Protocol__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1838:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1839:1: ( '{' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1839:1: ( '{' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1840:1: '{'
            {
             before(grammarAccess.getProtocolAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,35,FOLLOW_35_in_rule__Protocol__Group__2__Impl3974); 
             after(grammarAccess.getProtocolAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Protocol__Group__2__Impl"


    // $ANTLR start "rule__Protocol__Group__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1853:1: rule__Protocol__Group__3 : rule__Protocol__Group__3__Impl rule__Protocol__Group__4 ;
    public final void rule__Protocol__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1857:1: ( rule__Protocol__Group__3__Impl rule__Protocol__Group__4 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1858:2: rule__Protocol__Group__3__Impl rule__Protocol__Group__4
            {
            pushFollow(FOLLOW_rule__Protocol__Group__3__Impl_in_rule__Protocol__Group__34005);
            rule__Protocol__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Protocol__Group__4_in_rule__Protocol__Group__34008);
            rule__Protocol__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Protocol__Group__3"


    // $ANTLR start "rule__Protocol__Group__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1865:1: rule__Protocol__Group__3__Impl : ( ( rule__Protocol__ImportsAssignment_3 )* ) ;
    public final void rule__Protocol__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1869:1: ( ( ( rule__Protocol__ImportsAssignment_3 )* ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1870:1: ( ( rule__Protocol__ImportsAssignment_3 )* )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1870:1: ( ( rule__Protocol__ImportsAssignment_3 )* )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1871:1: ( rule__Protocol__ImportsAssignment_3 )*
            {
             before(grammarAccess.getProtocolAccess().getImportsAssignment_3()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1872:1: ( rule__Protocol__ImportsAssignment_3 )*
            loop16:
            do {
                int alt16=2;
                int LA16_0 = input.LA(1);

                if ( (LA16_0==19) ) {
                    alt16=1;
                }


                switch (alt16) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1872:2: rule__Protocol__ImportsAssignment_3
            	    {
            	    pushFollow(FOLLOW_rule__Protocol__ImportsAssignment_3_in_rule__Protocol__Group__3__Impl4035);
            	    rule__Protocol__ImportsAssignment_3();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop16;
                }
            } while (true);

             after(grammarAccess.getProtocolAccess().getImportsAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Protocol__Group__3__Impl"


    // $ANTLR start "rule__Protocol__Group__4"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1882:1: rule__Protocol__Group__4 : rule__Protocol__Group__4__Impl rule__Protocol__Group__5 ;
    public final void rule__Protocol__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1886:1: ( rule__Protocol__Group__4__Impl rule__Protocol__Group__5 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1887:2: rule__Protocol__Group__4__Impl rule__Protocol__Group__5
            {
            pushFollow(FOLLOW_rule__Protocol__Group__4__Impl_in_rule__Protocol__Group__44066);
            rule__Protocol__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Protocol__Group__5_in_rule__Protocol__Group__44069);
            rule__Protocol__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Protocol__Group__4"


    // $ANTLR start "rule__Protocol__Group__4__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1894:1: rule__Protocol__Group__4__Impl : ( ( rule__Protocol__DefinitionsAssignment_4 )* ) ;
    public final void rule__Protocol__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1898:1: ( ( ( rule__Protocol__DefinitionsAssignment_4 )* ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1899:1: ( ( rule__Protocol__DefinitionsAssignment_4 )* )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1899:1: ( ( rule__Protocol__DefinitionsAssignment_4 )* )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1900:1: ( rule__Protocol__DefinitionsAssignment_4 )*
            {
             before(grammarAccess.getProtocolAccess().getDefinitionsAssignment_4()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1901:1: ( rule__Protocol__DefinitionsAssignment_4 )*
            loop17:
            do {
                int alt17=2;
                int LA17_0 = input.LA(1);

                if ( (LA17_0==RULE_ID||(LA17_0>=15 && LA17_0<=18)||(LA17_0>=26 && LA17_0<=34)||LA17_0==42||(LA17_0>=45 && LA17_0<=48)||LA17_0==51) ) {
                    alt17=1;
                }


                switch (alt17) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1901:2: rule__Protocol__DefinitionsAssignment_4
            	    {
            	    pushFollow(FOLLOW_rule__Protocol__DefinitionsAssignment_4_in_rule__Protocol__Group__4__Impl4096);
            	    rule__Protocol__DefinitionsAssignment_4();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop17;
                }
            } while (true);

             after(grammarAccess.getProtocolAccess().getDefinitionsAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Protocol__Group__4__Impl"


    // $ANTLR start "rule__Protocol__Group__5"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1911:1: rule__Protocol__Group__5 : rule__Protocol__Group__5__Impl ;
    public final void rule__Protocol__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1915:1: ( rule__Protocol__Group__5__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1916:2: rule__Protocol__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__Protocol__Group__5__Impl_in_rule__Protocol__Group__54127);
            rule__Protocol__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Protocol__Group__5"


    // $ANTLR start "rule__Protocol__Group__5__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1922:1: rule__Protocol__Group__5__Impl : ( '}' ) ;
    public final void rule__Protocol__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1926:1: ( ( '}' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1927:1: ( '}' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1927:1: ( '}' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1928:1: '}'
            {
             before(grammarAccess.getProtocolAccess().getRightCurlyBracketKeyword_5()); 
            match(input,36,FOLLOW_36_in_rule__Protocol__Group__5__Impl4155); 
             after(grammarAccess.getProtocolAccess().getRightCurlyBracketKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Protocol__Group__5__Impl"


    // $ANTLR start "rule__Error__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1953:1: rule__Error__Group__0 : rule__Error__Group__0__Impl rule__Error__Group__1 ;
    public final void rule__Error__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1957:1: ( rule__Error__Group__0__Impl rule__Error__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1958:2: rule__Error__Group__0__Impl rule__Error__Group__1
            {
            pushFollow(FOLLOW_rule__Error__Group__0__Impl_in_rule__Error__Group__04198);
            rule__Error__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Error__Group__1_in_rule__Error__Group__04201);
            rule__Error__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Error__Group__0"


    // $ANTLR start "rule__Error__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1965:1: rule__Error__Group__0__Impl : ( 'error' ) ;
    public final void rule__Error__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1969:1: ( ( 'error' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1970:1: ( 'error' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1970:1: ( 'error' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1971:1: 'error'
            {
             before(grammarAccess.getErrorAccess().getErrorKeyword_0()); 
            match(input,15,FOLLOW_15_in_rule__Error__Group__0__Impl4229); 
             after(grammarAccess.getErrorAccess().getErrorKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Error__Group__0__Impl"


    // $ANTLR start "rule__Error__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1984:1: rule__Error__Group__1 : rule__Error__Group__1__Impl rule__Error__Group__2 ;
    public final void rule__Error__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1988:1: ( rule__Error__Group__1__Impl rule__Error__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1989:2: rule__Error__Group__1__Impl rule__Error__Group__2
            {
            pushFollow(FOLLOW_rule__Error__Group__1__Impl_in_rule__Error__Group__14260);
            rule__Error__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Error__Group__2_in_rule__Error__Group__14263);
            rule__Error__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Error__Group__1"


    // $ANTLR start "rule__Error__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:1996:1: rule__Error__Group__1__Impl : ( ( rule__Error__NameAssignment_1 ) ) ;
    public final void rule__Error__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2000:1: ( ( ( rule__Error__NameAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2001:1: ( ( rule__Error__NameAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2001:1: ( ( rule__Error__NameAssignment_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2002:1: ( rule__Error__NameAssignment_1 )
            {
             before(grammarAccess.getErrorAccess().getNameAssignment_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2003:1: ( rule__Error__NameAssignment_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2003:2: rule__Error__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Error__NameAssignment_1_in_rule__Error__Group__1__Impl4290);
            rule__Error__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getErrorAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Error__Group__1__Impl"


    // $ANTLR start "rule__Error__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2013:1: rule__Error__Group__2 : rule__Error__Group__2__Impl rule__Error__Group__3 ;
    public final void rule__Error__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2017:1: ( rule__Error__Group__2__Impl rule__Error__Group__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2018:2: rule__Error__Group__2__Impl rule__Error__Group__3
            {
            pushFollow(FOLLOW_rule__Error__Group__2__Impl_in_rule__Error__Group__24320);
            rule__Error__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Error__Group__3_in_rule__Error__Group__24323);
            rule__Error__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Error__Group__2"


    // $ANTLR start "rule__Error__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2025:1: rule__Error__Group__2__Impl : ( '{' ) ;
    public final void rule__Error__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2029:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2030:1: ( '{' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2030:1: ( '{' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2031:1: '{'
            {
             before(grammarAccess.getErrorAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,35,FOLLOW_35_in_rule__Error__Group__2__Impl4351); 
             after(grammarAccess.getErrorAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Error__Group__2__Impl"


    // $ANTLR start "rule__Error__Group__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2044:1: rule__Error__Group__3 : rule__Error__Group__3__Impl rule__Error__Group__4 ;
    public final void rule__Error__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2048:1: ( rule__Error__Group__3__Impl rule__Error__Group__4 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2049:2: rule__Error__Group__3__Impl rule__Error__Group__4
            {
            pushFollow(FOLLOW_rule__Error__Group__3__Impl_in_rule__Error__Group__34382);
            rule__Error__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Error__Group__4_in_rule__Error__Group__34385);
            rule__Error__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Error__Group__3"


    // $ANTLR start "rule__Error__Group__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2056:1: rule__Error__Group__3__Impl : ( ( rule__Error__FieldsAssignment_3 )* ) ;
    public final void rule__Error__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2060:1: ( ( ( rule__Error__FieldsAssignment_3 )* ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2061:1: ( ( rule__Error__FieldsAssignment_3 )* )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2061:1: ( ( rule__Error__FieldsAssignment_3 )* )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2062:1: ( rule__Error__FieldsAssignment_3 )*
            {
             before(grammarAccess.getErrorAccess().getFieldsAssignment_3()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2063:1: ( rule__Error__FieldsAssignment_3 )*
            loop18:
            do {
                int alt18=2;
                int LA18_0 = input.LA(1);

                if ( (LA18_0==RULE_ID||(LA18_0>=26 && LA18_0<=34)||LA18_0==48||(LA18_0>=51 && LA18_0<=52)) ) {
                    alt18=1;
                }


                switch (alt18) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2063:2: rule__Error__FieldsAssignment_3
            	    {
            	    pushFollow(FOLLOW_rule__Error__FieldsAssignment_3_in_rule__Error__Group__3__Impl4412);
            	    rule__Error__FieldsAssignment_3();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop18;
                }
            } while (true);

             after(grammarAccess.getErrorAccess().getFieldsAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Error__Group__3__Impl"


    // $ANTLR start "rule__Error__Group__4"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2073:1: rule__Error__Group__4 : rule__Error__Group__4__Impl ;
    public final void rule__Error__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2077:1: ( rule__Error__Group__4__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2078:2: rule__Error__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Error__Group__4__Impl_in_rule__Error__Group__44443);
            rule__Error__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Error__Group__4"


    // $ANTLR start "rule__Error__Group__4__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2084:1: rule__Error__Group__4__Impl : ( '}' ) ;
    public final void rule__Error__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2088:1: ( ( '}' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2089:1: ( '}' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2089:1: ( '}' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2090:1: '}'
            {
             before(grammarAccess.getErrorAccess().getRightCurlyBracketKeyword_4()); 
            match(input,36,FOLLOW_36_in_rule__Error__Group__4__Impl4471); 
             after(grammarAccess.getErrorAccess().getRightCurlyBracketKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Error__Group__4__Impl"


    // $ANTLR start "rule__Record__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2113:1: rule__Record__Group__0 : rule__Record__Group__0__Impl rule__Record__Group__1 ;
    public final void rule__Record__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2117:1: ( rule__Record__Group__0__Impl rule__Record__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2118:2: rule__Record__Group__0__Impl rule__Record__Group__1
            {
            pushFollow(FOLLOW_rule__Record__Group__0__Impl_in_rule__Record__Group__04512);
            rule__Record__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Record__Group__1_in_rule__Record__Group__04515);
            rule__Record__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__0"


    // $ANTLR start "rule__Record__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2125:1: rule__Record__Group__0__Impl : ( 'record' ) ;
    public final void rule__Record__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2129:1: ( ( 'record' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2130:1: ( 'record' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2130:1: ( 'record' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2131:1: 'record'
            {
             before(grammarAccess.getRecordAccess().getRecordKeyword_0()); 
            match(input,16,FOLLOW_16_in_rule__Record__Group__0__Impl4543); 
             after(grammarAccess.getRecordAccess().getRecordKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__0__Impl"


    // $ANTLR start "rule__Record__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2144:1: rule__Record__Group__1 : rule__Record__Group__1__Impl rule__Record__Group__2 ;
    public final void rule__Record__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2148:1: ( rule__Record__Group__1__Impl rule__Record__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2149:2: rule__Record__Group__1__Impl rule__Record__Group__2
            {
            pushFollow(FOLLOW_rule__Record__Group__1__Impl_in_rule__Record__Group__14574);
            rule__Record__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Record__Group__2_in_rule__Record__Group__14577);
            rule__Record__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__1"


    // $ANTLR start "rule__Record__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2156:1: rule__Record__Group__1__Impl : ( ( rule__Record__NameAssignment_1 ) ) ;
    public final void rule__Record__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2160:1: ( ( ( rule__Record__NameAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2161:1: ( ( rule__Record__NameAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2161:1: ( ( rule__Record__NameAssignment_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2162:1: ( rule__Record__NameAssignment_1 )
            {
             before(grammarAccess.getRecordAccess().getNameAssignment_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2163:1: ( rule__Record__NameAssignment_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2163:2: rule__Record__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Record__NameAssignment_1_in_rule__Record__Group__1__Impl4604);
            rule__Record__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getRecordAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__1__Impl"


    // $ANTLR start "rule__Record__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2173:1: rule__Record__Group__2 : rule__Record__Group__2__Impl rule__Record__Group__3 ;
    public final void rule__Record__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2177:1: ( rule__Record__Group__2__Impl rule__Record__Group__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2178:2: rule__Record__Group__2__Impl rule__Record__Group__3
            {
            pushFollow(FOLLOW_rule__Record__Group__2__Impl_in_rule__Record__Group__24634);
            rule__Record__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Record__Group__3_in_rule__Record__Group__24637);
            rule__Record__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__2"


    // $ANTLR start "rule__Record__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2185:1: rule__Record__Group__2__Impl : ( '{' ) ;
    public final void rule__Record__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2189:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2190:1: ( '{' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2190:1: ( '{' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2191:1: '{'
            {
             before(grammarAccess.getRecordAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,35,FOLLOW_35_in_rule__Record__Group__2__Impl4665); 
             after(grammarAccess.getRecordAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__2__Impl"


    // $ANTLR start "rule__Record__Group__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2204:1: rule__Record__Group__3 : rule__Record__Group__3__Impl rule__Record__Group__4 ;
    public final void rule__Record__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2208:1: ( rule__Record__Group__3__Impl rule__Record__Group__4 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2209:2: rule__Record__Group__3__Impl rule__Record__Group__4
            {
            pushFollow(FOLLOW_rule__Record__Group__3__Impl_in_rule__Record__Group__34696);
            rule__Record__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Record__Group__4_in_rule__Record__Group__34699);
            rule__Record__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__3"


    // $ANTLR start "rule__Record__Group__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2216:1: rule__Record__Group__3__Impl : ( ( rule__Record__Group_3__0 )* ) ;
    public final void rule__Record__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2220:1: ( ( ( rule__Record__Group_3__0 )* ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2221:1: ( ( rule__Record__Group_3__0 )* )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2221:1: ( ( rule__Record__Group_3__0 )* )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2222:1: ( rule__Record__Group_3__0 )*
            {
             before(grammarAccess.getRecordAccess().getGroup_3()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2223:1: ( rule__Record__Group_3__0 )*
            loop19:
            do {
                int alt19=2;
                int LA19_0 = input.LA(1);

                if ( (LA19_0==RULE_ID||(LA19_0>=26 && LA19_0<=34)||LA19_0==42||(LA19_0>=45 && LA19_0<=48)||(LA19_0>=51 && LA19_0<=52)) ) {
                    alt19=1;
                }


                switch (alt19) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2223:2: rule__Record__Group_3__0
            	    {
            	    pushFollow(FOLLOW_rule__Record__Group_3__0_in_rule__Record__Group__3__Impl4726);
            	    rule__Record__Group_3__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop19;
                }
            } while (true);

             after(grammarAccess.getRecordAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__3__Impl"


    // $ANTLR start "rule__Record__Group__4"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2233:1: rule__Record__Group__4 : rule__Record__Group__4__Impl ;
    public final void rule__Record__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2237:1: ( rule__Record__Group__4__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2238:2: rule__Record__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Record__Group__4__Impl_in_rule__Record__Group__44757);
            rule__Record__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__4"


    // $ANTLR start "rule__Record__Group__4__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2244:1: rule__Record__Group__4__Impl : ( '}' ) ;
    public final void rule__Record__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2248:1: ( ( '}' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2249:1: ( '}' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2249:1: ( '}' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2250:1: '}'
            {
             before(grammarAccess.getRecordAccess().getRightCurlyBracketKeyword_4()); 
            match(input,36,FOLLOW_36_in_rule__Record__Group__4__Impl4785); 
             after(grammarAccess.getRecordAccess().getRightCurlyBracketKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__4__Impl"


    // $ANTLR start "rule__Record__Group_3__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2273:1: rule__Record__Group_3__0 : rule__Record__Group_3__0__Impl rule__Record__Group_3__1 ;
    public final void rule__Record__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2277:1: ( rule__Record__Group_3__0__Impl rule__Record__Group_3__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2278:2: rule__Record__Group_3__0__Impl rule__Record__Group_3__1
            {
            pushFollow(FOLLOW_rule__Record__Group_3__0__Impl_in_rule__Record__Group_3__04826);
            rule__Record__Group_3__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Record__Group_3__1_in_rule__Record__Group_3__04829);
            rule__Record__Group_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group_3__0"


    // $ANTLR start "rule__Record__Group_3__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2285:1: rule__Record__Group_3__0__Impl : ( ( rule__Record__AnnotationAssignment_3_0 )? ) ;
    public final void rule__Record__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2289:1: ( ( ( rule__Record__AnnotationAssignment_3_0 )? ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2290:1: ( ( rule__Record__AnnotationAssignment_3_0 )? )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2290:1: ( ( rule__Record__AnnotationAssignment_3_0 )? )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2291:1: ( rule__Record__AnnotationAssignment_3_0 )?
            {
             before(grammarAccess.getRecordAccess().getAnnotationAssignment_3_0()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2292:1: ( rule__Record__AnnotationAssignment_3_0 )?
            int alt20=2;
            int LA20_0 = input.LA(1);

            if ( (LA20_0==42||(LA20_0>=45 && LA20_0<=47)) ) {
                alt20=1;
            }
            switch (alt20) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2292:2: rule__Record__AnnotationAssignment_3_0
                    {
                    pushFollow(FOLLOW_rule__Record__AnnotationAssignment_3_0_in_rule__Record__Group_3__0__Impl4856);
                    rule__Record__AnnotationAssignment_3_0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRecordAccess().getAnnotationAssignment_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group_3__0__Impl"


    // $ANTLR start "rule__Record__Group_3__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2302:1: rule__Record__Group_3__1 : rule__Record__Group_3__1__Impl ;
    public final void rule__Record__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2306:1: ( rule__Record__Group_3__1__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2307:2: rule__Record__Group_3__1__Impl
            {
            pushFollow(FOLLOW_rule__Record__Group_3__1__Impl_in_rule__Record__Group_3__14887);
            rule__Record__Group_3__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group_3__1"


    // $ANTLR start "rule__Record__Group_3__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2313:1: rule__Record__Group_3__1__Impl : ( ( rule__Record__FieldsAssignment_3_1 ) ) ;
    public final void rule__Record__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2317:1: ( ( ( rule__Record__FieldsAssignment_3_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2318:1: ( ( rule__Record__FieldsAssignment_3_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2318:1: ( ( rule__Record__FieldsAssignment_3_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2319:1: ( rule__Record__FieldsAssignment_3_1 )
            {
             before(grammarAccess.getRecordAccess().getFieldsAssignment_3_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2320:1: ( rule__Record__FieldsAssignment_3_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2320:2: rule__Record__FieldsAssignment_3_1
            {
            pushFollow(FOLLOW_rule__Record__FieldsAssignment_3_1_in_rule__Record__Group_3__1__Impl4914);
            rule__Record__FieldsAssignment_3_1();

            state._fsp--;


            }

             after(grammarAccess.getRecordAccess().getFieldsAssignment_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group_3__1__Impl"


    // $ANTLR start "rule__Field__Group_0__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2334:1: rule__Field__Group_0__0 : rule__Field__Group_0__0__Impl rule__Field__Group_0__1 ;
    public final void rule__Field__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2338:1: ( rule__Field__Group_0__0__Impl rule__Field__Group_0__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2339:2: rule__Field__Group_0__0__Impl rule__Field__Group_0__1
            {
            pushFollow(FOLLOW_rule__Field__Group_0__0__Impl_in_rule__Field__Group_0__04948);
            rule__Field__Group_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group_0__1_in_rule__Field__Group_0__04951);
            rule__Field__Group_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_0__0"


    // $ANTLR start "rule__Field__Group_0__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2346:1: rule__Field__Group_0__0__Impl : ( ( rule__Field__TypeAssignment_0_0 ) ) ;
    public final void rule__Field__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2350:1: ( ( ( rule__Field__TypeAssignment_0_0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2351:1: ( ( rule__Field__TypeAssignment_0_0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2351:1: ( ( rule__Field__TypeAssignment_0_0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2352:1: ( rule__Field__TypeAssignment_0_0 )
            {
             before(grammarAccess.getFieldAccess().getTypeAssignment_0_0()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2353:1: ( rule__Field__TypeAssignment_0_0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2353:2: rule__Field__TypeAssignment_0_0
            {
            pushFollow(FOLLOW_rule__Field__TypeAssignment_0_0_in_rule__Field__Group_0__0__Impl4978);
            rule__Field__TypeAssignment_0_0();

            state._fsp--;


            }

             after(grammarAccess.getFieldAccess().getTypeAssignment_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_0__0__Impl"


    // $ANTLR start "rule__Field__Group_0__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2363:1: rule__Field__Group_0__1 : rule__Field__Group_0__1__Impl rule__Field__Group_0__2 ;
    public final void rule__Field__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2367:1: ( rule__Field__Group_0__1__Impl rule__Field__Group_0__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2368:2: rule__Field__Group_0__1__Impl rule__Field__Group_0__2
            {
            pushFollow(FOLLOW_rule__Field__Group_0__1__Impl_in_rule__Field__Group_0__15008);
            rule__Field__Group_0__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group_0__2_in_rule__Field__Group_0__15011);
            rule__Field__Group_0__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_0__1"


    // $ANTLR start "rule__Field__Group_0__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2375:1: rule__Field__Group_0__1__Impl : ( ( rule__Field__AnnotationAssignment_0_1 )? ) ;
    public final void rule__Field__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2379:1: ( ( ( rule__Field__AnnotationAssignment_0_1 )? ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2380:1: ( ( rule__Field__AnnotationAssignment_0_1 )? )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2380:1: ( ( rule__Field__AnnotationAssignment_0_1 )? )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2381:1: ( rule__Field__AnnotationAssignment_0_1 )?
            {
             before(grammarAccess.getFieldAccess().getAnnotationAssignment_0_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2382:1: ( rule__Field__AnnotationAssignment_0_1 )?
            int alt21=2;
            int LA21_0 = input.LA(1);

            if ( (LA21_0==42||(LA21_0>=45 && LA21_0<=47)) ) {
                alt21=1;
            }
            switch (alt21) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2382:2: rule__Field__AnnotationAssignment_0_1
                    {
                    pushFollow(FOLLOW_rule__Field__AnnotationAssignment_0_1_in_rule__Field__Group_0__1__Impl5038);
                    rule__Field__AnnotationAssignment_0_1();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getFieldAccess().getAnnotationAssignment_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_0__1__Impl"


    // $ANTLR start "rule__Field__Group_0__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2392:1: rule__Field__Group_0__2 : rule__Field__Group_0__2__Impl rule__Field__Group_0__3 ;
    public final void rule__Field__Group_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2396:1: ( rule__Field__Group_0__2__Impl rule__Field__Group_0__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2397:2: rule__Field__Group_0__2__Impl rule__Field__Group_0__3
            {
            pushFollow(FOLLOW_rule__Field__Group_0__2__Impl_in_rule__Field__Group_0__25069);
            rule__Field__Group_0__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group_0__3_in_rule__Field__Group_0__25072);
            rule__Field__Group_0__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_0__2"


    // $ANTLR start "rule__Field__Group_0__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2404:1: rule__Field__Group_0__2__Impl : ( ( rule__Field__NameAssignment_0_2 ) ) ;
    public final void rule__Field__Group_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2408:1: ( ( ( rule__Field__NameAssignment_0_2 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2409:1: ( ( rule__Field__NameAssignment_0_2 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2409:1: ( ( rule__Field__NameAssignment_0_2 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2410:1: ( rule__Field__NameAssignment_0_2 )
            {
             before(grammarAccess.getFieldAccess().getNameAssignment_0_2()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2411:1: ( rule__Field__NameAssignment_0_2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2411:2: rule__Field__NameAssignment_0_2
            {
            pushFollow(FOLLOW_rule__Field__NameAssignment_0_2_in_rule__Field__Group_0__2__Impl5099);
            rule__Field__NameAssignment_0_2();

            state._fsp--;


            }

             after(grammarAccess.getFieldAccess().getNameAssignment_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_0__2__Impl"


    // $ANTLR start "rule__Field__Group_0__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2421:1: rule__Field__Group_0__3 : rule__Field__Group_0__3__Impl rule__Field__Group_0__4 ;
    public final void rule__Field__Group_0__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2425:1: ( rule__Field__Group_0__3__Impl rule__Field__Group_0__4 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2426:2: rule__Field__Group_0__3__Impl rule__Field__Group_0__4
            {
            pushFollow(FOLLOW_rule__Field__Group_0__3__Impl_in_rule__Field__Group_0__35129);
            rule__Field__Group_0__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group_0__4_in_rule__Field__Group_0__35132);
            rule__Field__Group_0__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_0__3"


    // $ANTLR start "rule__Field__Group_0__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2433:1: rule__Field__Group_0__3__Impl : ( ( rule__Field__Group_0_3__0 )? ) ;
    public final void rule__Field__Group_0__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2437:1: ( ( ( rule__Field__Group_0_3__0 )? ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2438:1: ( ( rule__Field__Group_0_3__0 )? )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2438:1: ( ( rule__Field__Group_0_3__0 )? )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2439:1: ( rule__Field__Group_0_3__0 )?
            {
             before(grammarAccess.getFieldAccess().getGroup_0_3()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2440:1: ( rule__Field__Group_0_3__0 )?
            int alt22=2;
            int LA22_0 = input.LA(1);

            if ( (LA22_0==37) ) {
                alt22=1;
            }
            switch (alt22) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2440:2: rule__Field__Group_0_3__0
                    {
                    pushFollow(FOLLOW_rule__Field__Group_0_3__0_in_rule__Field__Group_0__3__Impl5159);
                    rule__Field__Group_0_3__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getFieldAccess().getGroup_0_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_0__3__Impl"


    // $ANTLR start "rule__Field__Group_0__4"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2450:1: rule__Field__Group_0__4 : rule__Field__Group_0__4__Impl ;
    public final void rule__Field__Group_0__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2454:1: ( rule__Field__Group_0__4__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2455:2: rule__Field__Group_0__4__Impl
            {
            pushFollow(FOLLOW_rule__Field__Group_0__4__Impl_in_rule__Field__Group_0__45190);
            rule__Field__Group_0__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_0__4"


    // $ANTLR start "rule__Field__Group_0__4__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2461:1: rule__Field__Group_0__4__Impl : ( ruleEndLine ) ;
    public final void rule__Field__Group_0__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2465:1: ( ( ruleEndLine ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2466:1: ( ruleEndLine )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2466:1: ( ruleEndLine )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2467:1: ruleEndLine
            {
             before(grammarAccess.getFieldAccess().getEndLineParserRuleCall_0_4()); 
            pushFollow(FOLLOW_ruleEndLine_in_rule__Field__Group_0__4__Impl5217);
            ruleEndLine();

            state._fsp--;

             after(grammarAccess.getFieldAccess().getEndLineParserRuleCall_0_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_0__4__Impl"


    // $ANTLR start "rule__Field__Group_0_3__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2488:1: rule__Field__Group_0_3__0 : rule__Field__Group_0_3__0__Impl rule__Field__Group_0_3__1 ;
    public final void rule__Field__Group_0_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2492:1: ( rule__Field__Group_0_3__0__Impl rule__Field__Group_0_3__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2493:2: rule__Field__Group_0_3__0__Impl rule__Field__Group_0_3__1
            {
            pushFollow(FOLLOW_rule__Field__Group_0_3__0__Impl_in_rule__Field__Group_0_3__05256);
            rule__Field__Group_0_3__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group_0_3__1_in_rule__Field__Group_0_3__05259);
            rule__Field__Group_0_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_0_3__0"


    // $ANTLR start "rule__Field__Group_0_3__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2500:1: rule__Field__Group_0_3__0__Impl : ( '=' ) ;
    public final void rule__Field__Group_0_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2504:1: ( ( '=' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2505:1: ( '=' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2505:1: ( '=' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2506:1: '='
            {
             before(grammarAccess.getFieldAccess().getEqualsSignKeyword_0_3_0()); 
            match(input,37,FOLLOW_37_in_rule__Field__Group_0_3__0__Impl5287); 
             after(grammarAccess.getFieldAccess().getEqualsSignKeyword_0_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_0_3__0__Impl"


    // $ANTLR start "rule__Field__Group_0_3__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2519:1: rule__Field__Group_0_3__1 : rule__Field__Group_0_3__1__Impl ;
    public final void rule__Field__Group_0_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2523:1: ( rule__Field__Group_0_3__1__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2524:2: rule__Field__Group_0_3__1__Impl
            {
            pushFollow(FOLLOW_rule__Field__Group_0_3__1__Impl_in_rule__Field__Group_0_3__15318);
            rule__Field__Group_0_3__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_0_3__1"


    // $ANTLR start "rule__Field__Group_0_3__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2530:1: rule__Field__Group_0_3__1__Impl : ( ( rule__Field__ValueAssignment_0_3_1 ) ) ;
    public final void rule__Field__Group_0_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2534:1: ( ( ( rule__Field__ValueAssignment_0_3_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2535:1: ( ( rule__Field__ValueAssignment_0_3_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2535:1: ( ( rule__Field__ValueAssignment_0_3_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2536:1: ( rule__Field__ValueAssignment_0_3_1 )
            {
             before(grammarAccess.getFieldAccess().getValueAssignment_0_3_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2537:1: ( rule__Field__ValueAssignment_0_3_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2537:2: rule__Field__ValueAssignment_0_3_1
            {
            pushFollow(FOLLOW_rule__Field__ValueAssignment_0_3_1_in_rule__Field__Group_0_3__1__Impl5345);
            rule__Field__ValueAssignment_0_3_1();

            state._fsp--;


            }

             after(grammarAccess.getFieldAccess().getValueAssignment_0_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_0_3__1__Impl"


    // $ANTLR start "rule__Field__Group_1__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2551:1: rule__Field__Group_1__0 : rule__Field__Group_1__0__Impl rule__Field__Group_1__1 ;
    public final void rule__Field__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2555:1: ( rule__Field__Group_1__0__Impl rule__Field__Group_1__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2556:2: rule__Field__Group_1__0__Impl rule__Field__Group_1__1
            {
            pushFollow(FOLLOW_rule__Field__Group_1__0__Impl_in_rule__Field__Group_1__05379);
            rule__Field__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group_1__1_in_rule__Field__Group_1__05382);
            rule__Field__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_1__0"


    // $ANTLR start "rule__Field__Group_1__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2563:1: rule__Field__Group_1__0__Impl : ( ( rule__Field__TypeAssignment_1_0 ) ) ;
    public final void rule__Field__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2567:1: ( ( ( rule__Field__TypeAssignment_1_0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2568:1: ( ( rule__Field__TypeAssignment_1_0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2568:1: ( ( rule__Field__TypeAssignment_1_0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2569:1: ( rule__Field__TypeAssignment_1_0 )
            {
             before(grammarAccess.getFieldAccess().getTypeAssignment_1_0()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2570:1: ( rule__Field__TypeAssignment_1_0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2570:2: rule__Field__TypeAssignment_1_0
            {
            pushFollow(FOLLOW_rule__Field__TypeAssignment_1_0_in_rule__Field__Group_1__0__Impl5409);
            rule__Field__TypeAssignment_1_0();

            state._fsp--;


            }

             after(grammarAccess.getFieldAccess().getTypeAssignment_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_1__0__Impl"


    // $ANTLR start "rule__Field__Group_1__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2580:1: rule__Field__Group_1__1 : rule__Field__Group_1__1__Impl rule__Field__Group_1__2 ;
    public final void rule__Field__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2584:1: ( rule__Field__Group_1__1__Impl rule__Field__Group_1__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2585:2: rule__Field__Group_1__1__Impl rule__Field__Group_1__2
            {
            pushFollow(FOLLOW_rule__Field__Group_1__1__Impl_in_rule__Field__Group_1__15439);
            rule__Field__Group_1__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group_1__2_in_rule__Field__Group_1__15442);
            rule__Field__Group_1__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_1__1"


    // $ANTLR start "rule__Field__Group_1__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2592:1: rule__Field__Group_1__1__Impl : ( ( rule__Field__AnnotationAssignment_1_1 )? ) ;
    public final void rule__Field__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2596:1: ( ( ( rule__Field__AnnotationAssignment_1_1 )? ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2597:1: ( ( rule__Field__AnnotationAssignment_1_1 )? )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2597:1: ( ( rule__Field__AnnotationAssignment_1_1 )? )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2598:1: ( rule__Field__AnnotationAssignment_1_1 )?
            {
             before(grammarAccess.getFieldAccess().getAnnotationAssignment_1_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2599:1: ( rule__Field__AnnotationAssignment_1_1 )?
            int alt23=2;
            int LA23_0 = input.LA(1);

            if ( (LA23_0==42||(LA23_0>=45 && LA23_0<=47)) ) {
                alt23=1;
            }
            switch (alt23) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2599:2: rule__Field__AnnotationAssignment_1_1
                    {
                    pushFollow(FOLLOW_rule__Field__AnnotationAssignment_1_1_in_rule__Field__Group_1__1__Impl5469);
                    rule__Field__AnnotationAssignment_1_1();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getFieldAccess().getAnnotationAssignment_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_1__1__Impl"


    // $ANTLR start "rule__Field__Group_1__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2609:1: rule__Field__Group_1__2 : rule__Field__Group_1__2__Impl rule__Field__Group_1__3 ;
    public final void rule__Field__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2613:1: ( rule__Field__Group_1__2__Impl rule__Field__Group_1__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2614:2: rule__Field__Group_1__2__Impl rule__Field__Group_1__3
            {
            pushFollow(FOLLOW_rule__Field__Group_1__2__Impl_in_rule__Field__Group_1__25500);
            rule__Field__Group_1__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Field__Group_1__3_in_rule__Field__Group_1__25503);
            rule__Field__Group_1__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_1__2"


    // $ANTLR start "rule__Field__Group_1__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2621:1: rule__Field__Group_1__2__Impl : ( ( rule__Field__NameAssignment_1_2 ) ) ;
    public final void rule__Field__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2625:1: ( ( ( rule__Field__NameAssignment_1_2 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2626:1: ( ( rule__Field__NameAssignment_1_2 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2626:1: ( ( rule__Field__NameAssignment_1_2 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2627:1: ( rule__Field__NameAssignment_1_2 )
            {
             before(grammarAccess.getFieldAccess().getNameAssignment_1_2()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2628:1: ( rule__Field__NameAssignment_1_2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2628:2: rule__Field__NameAssignment_1_2
            {
            pushFollow(FOLLOW_rule__Field__NameAssignment_1_2_in_rule__Field__Group_1__2__Impl5530);
            rule__Field__NameAssignment_1_2();

            state._fsp--;


            }

             after(grammarAccess.getFieldAccess().getNameAssignment_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_1__2__Impl"


    // $ANTLR start "rule__Field__Group_1__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2638:1: rule__Field__Group_1__3 : rule__Field__Group_1__3__Impl ;
    public final void rule__Field__Group_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2642:1: ( rule__Field__Group_1__3__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2643:2: rule__Field__Group_1__3__Impl
            {
            pushFollow(FOLLOW_rule__Field__Group_1__3__Impl_in_rule__Field__Group_1__35560);
            rule__Field__Group_1__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_1__3"


    // $ANTLR start "rule__Field__Group_1__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2649:1: rule__Field__Group_1__3__Impl : ( ruleEndLine ) ;
    public final void rule__Field__Group_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2653:1: ( ( ruleEndLine ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2654:1: ( ruleEndLine )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2654:1: ( ruleEndLine )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2655:1: ruleEndLine
            {
             before(grammarAccess.getFieldAccess().getEndLineParserRuleCall_1_3()); 
            pushFollow(FOLLOW_ruleEndLine_in_rule__Field__Group_1__3__Impl5587);
            ruleEndLine();

            state._fsp--;

             after(grammarAccess.getFieldAccess().getEndLineParserRuleCall_1_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__Group_1__3__Impl"


    // $ANTLR start "rule__Enum__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2674:1: rule__Enum__Group__0 : rule__Enum__Group__0__Impl rule__Enum__Group__1 ;
    public final void rule__Enum__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2678:1: ( rule__Enum__Group__0__Impl rule__Enum__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2679:2: rule__Enum__Group__0__Impl rule__Enum__Group__1
            {
            pushFollow(FOLLOW_rule__Enum__Group__0__Impl_in_rule__Enum__Group__05624);
            rule__Enum__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Enum__Group__1_in_rule__Enum__Group__05627);
            rule__Enum__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__0"


    // $ANTLR start "rule__Enum__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2686:1: rule__Enum__Group__0__Impl : ( 'enum' ) ;
    public final void rule__Enum__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2690:1: ( ( 'enum' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2691:1: ( 'enum' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2691:1: ( 'enum' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2692:1: 'enum'
            {
             before(grammarAccess.getEnumAccess().getEnumKeyword_0()); 
            match(input,17,FOLLOW_17_in_rule__Enum__Group__0__Impl5655); 
             after(grammarAccess.getEnumAccess().getEnumKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__0__Impl"


    // $ANTLR start "rule__Enum__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2705:1: rule__Enum__Group__1 : rule__Enum__Group__1__Impl rule__Enum__Group__2 ;
    public final void rule__Enum__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2709:1: ( rule__Enum__Group__1__Impl rule__Enum__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2710:2: rule__Enum__Group__1__Impl rule__Enum__Group__2
            {
            pushFollow(FOLLOW_rule__Enum__Group__1__Impl_in_rule__Enum__Group__15686);
            rule__Enum__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Enum__Group__2_in_rule__Enum__Group__15689);
            rule__Enum__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__1"


    // $ANTLR start "rule__Enum__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2717:1: rule__Enum__Group__1__Impl : ( ( rule__Enum__NameAssignment_1 ) ) ;
    public final void rule__Enum__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2721:1: ( ( ( rule__Enum__NameAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2722:1: ( ( rule__Enum__NameAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2722:1: ( ( rule__Enum__NameAssignment_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2723:1: ( rule__Enum__NameAssignment_1 )
            {
             before(grammarAccess.getEnumAccess().getNameAssignment_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2724:1: ( rule__Enum__NameAssignment_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2724:2: rule__Enum__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Enum__NameAssignment_1_in_rule__Enum__Group__1__Impl5716);
            rule__Enum__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getEnumAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__1__Impl"


    // $ANTLR start "rule__Enum__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2734:1: rule__Enum__Group__2 : rule__Enum__Group__2__Impl rule__Enum__Group__3 ;
    public final void rule__Enum__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2738:1: ( rule__Enum__Group__2__Impl rule__Enum__Group__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2739:2: rule__Enum__Group__2__Impl rule__Enum__Group__3
            {
            pushFollow(FOLLOW_rule__Enum__Group__2__Impl_in_rule__Enum__Group__25746);
            rule__Enum__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Enum__Group__3_in_rule__Enum__Group__25749);
            rule__Enum__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__2"


    // $ANTLR start "rule__Enum__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2746:1: rule__Enum__Group__2__Impl : ( '{' ) ;
    public final void rule__Enum__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2750:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2751:1: ( '{' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2751:1: ( '{' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2752:1: '{'
            {
             before(grammarAccess.getEnumAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,35,FOLLOW_35_in_rule__Enum__Group__2__Impl5777); 
             after(grammarAccess.getEnumAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__2__Impl"


    // $ANTLR start "rule__Enum__Group__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2765:1: rule__Enum__Group__3 : rule__Enum__Group__3__Impl rule__Enum__Group__4 ;
    public final void rule__Enum__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2769:1: ( rule__Enum__Group__3__Impl rule__Enum__Group__4 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2770:2: rule__Enum__Group__3__Impl rule__Enum__Group__4
            {
            pushFollow(FOLLOW_rule__Enum__Group__3__Impl_in_rule__Enum__Group__35808);
            rule__Enum__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Enum__Group__4_in_rule__Enum__Group__35811);
            rule__Enum__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__3"


    // $ANTLR start "rule__Enum__Group__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2777:1: rule__Enum__Group__3__Impl : ( ( rule__Enum__FieldsAssignment_3 ) ) ;
    public final void rule__Enum__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2781:1: ( ( ( rule__Enum__FieldsAssignment_3 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2782:1: ( ( rule__Enum__FieldsAssignment_3 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2782:1: ( ( rule__Enum__FieldsAssignment_3 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2783:1: ( rule__Enum__FieldsAssignment_3 )
            {
             before(grammarAccess.getEnumAccess().getFieldsAssignment_3()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2784:1: ( rule__Enum__FieldsAssignment_3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2784:2: rule__Enum__FieldsAssignment_3
            {
            pushFollow(FOLLOW_rule__Enum__FieldsAssignment_3_in_rule__Enum__Group__3__Impl5838);
            rule__Enum__FieldsAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getEnumAccess().getFieldsAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__3__Impl"


    // $ANTLR start "rule__Enum__Group__4"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2794:1: rule__Enum__Group__4 : rule__Enum__Group__4__Impl rule__Enum__Group__5 ;
    public final void rule__Enum__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2798:1: ( rule__Enum__Group__4__Impl rule__Enum__Group__5 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2799:2: rule__Enum__Group__4__Impl rule__Enum__Group__5
            {
            pushFollow(FOLLOW_rule__Enum__Group__4__Impl_in_rule__Enum__Group__45868);
            rule__Enum__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Enum__Group__5_in_rule__Enum__Group__45871);
            rule__Enum__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__4"


    // $ANTLR start "rule__Enum__Group__4__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2806:1: rule__Enum__Group__4__Impl : ( ( rule__Enum__Group_4__0 )* ) ;
    public final void rule__Enum__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2810:1: ( ( ( rule__Enum__Group_4__0 )* ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2811:1: ( ( rule__Enum__Group_4__0 )* )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2811:1: ( ( rule__Enum__Group_4__0 )* )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2812:1: ( rule__Enum__Group_4__0 )*
            {
             before(grammarAccess.getEnumAccess().getGroup_4()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2813:1: ( rule__Enum__Group_4__0 )*
            loop24:
            do {
                int alt24=2;
                int LA24_0 = input.LA(1);

                if ( (LA24_0==13) ) {
                    alt24=1;
                }


                switch (alt24) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2813:2: rule__Enum__Group_4__0
            	    {
            	    pushFollow(FOLLOW_rule__Enum__Group_4__0_in_rule__Enum__Group__4__Impl5898);
            	    rule__Enum__Group_4__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop24;
                }
            } while (true);

             after(grammarAccess.getEnumAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__4__Impl"


    // $ANTLR start "rule__Enum__Group__5"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2823:1: rule__Enum__Group__5 : rule__Enum__Group__5__Impl ;
    public final void rule__Enum__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2827:1: ( rule__Enum__Group__5__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2828:2: rule__Enum__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__Enum__Group__5__Impl_in_rule__Enum__Group__55929);
            rule__Enum__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__5"


    // $ANTLR start "rule__Enum__Group__5__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2834:1: rule__Enum__Group__5__Impl : ( '}' ) ;
    public final void rule__Enum__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2838:1: ( ( '}' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2839:1: ( '}' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2839:1: ( '}' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2840:1: '}'
            {
             before(grammarAccess.getEnumAccess().getRightCurlyBracketKeyword_5()); 
            match(input,36,FOLLOW_36_in_rule__Enum__Group__5__Impl5957); 
             after(grammarAccess.getEnumAccess().getRightCurlyBracketKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__5__Impl"


    // $ANTLR start "rule__Enum__Group_4__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2865:1: rule__Enum__Group_4__0 : rule__Enum__Group_4__0__Impl rule__Enum__Group_4__1 ;
    public final void rule__Enum__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2869:1: ( rule__Enum__Group_4__0__Impl rule__Enum__Group_4__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2870:2: rule__Enum__Group_4__0__Impl rule__Enum__Group_4__1
            {
            pushFollow(FOLLOW_rule__Enum__Group_4__0__Impl_in_rule__Enum__Group_4__06000);
            rule__Enum__Group_4__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Enum__Group_4__1_in_rule__Enum__Group_4__06003);
            rule__Enum__Group_4__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group_4__0"


    // $ANTLR start "rule__Enum__Group_4__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2877:1: rule__Enum__Group_4__0__Impl : ( ruleListSeparator ) ;
    public final void rule__Enum__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2881:1: ( ( ruleListSeparator ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2882:1: ( ruleListSeparator )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2882:1: ( ruleListSeparator )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2883:1: ruleListSeparator
            {
             before(grammarAccess.getEnumAccess().getListSeparatorParserRuleCall_4_0()); 
            pushFollow(FOLLOW_ruleListSeparator_in_rule__Enum__Group_4__0__Impl6030);
            ruleListSeparator();

            state._fsp--;

             after(grammarAccess.getEnumAccess().getListSeparatorParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group_4__0__Impl"


    // $ANTLR start "rule__Enum__Group_4__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2894:1: rule__Enum__Group_4__1 : rule__Enum__Group_4__1__Impl ;
    public final void rule__Enum__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2898:1: ( rule__Enum__Group_4__1__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2899:2: rule__Enum__Group_4__1__Impl
            {
            pushFollow(FOLLOW_rule__Enum__Group_4__1__Impl_in_rule__Enum__Group_4__16059);
            rule__Enum__Group_4__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group_4__1"


    // $ANTLR start "rule__Enum__Group_4__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2905:1: rule__Enum__Group_4__1__Impl : ( ( rule__Enum__FieldsAssignment_4_1 ) ) ;
    public final void rule__Enum__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2909:1: ( ( ( rule__Enum__FieldsAssignment_4_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2910:1: ( ( rule__Enum__FieldsAssignment_4_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2910:1: ( ( rule__Enum__FieldsAssignment_4_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2911:1: ( rule__Enum__FieldsAssignment_4_1 )
            {
             before(grammarAccess.getEnumAccess().getFieldsAssignment_4_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2912:1: ( rule__Enum__FieldsAssignment_4_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2912:2: rule__Enum__FieldsAssignment_4_1
            {
            pushFollow(FOLLOW_rule__Enum__FieldsAssignment_4_1_in_rule__Enum__Group_4__1__Impl6086);
            rule__Enum__FieldsAssignment_4_1();

            state._fsp--;


            }

             after(grammarAccess.getEnumAccess().getFieldsAssignment_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group_4__1__Impl"


    // $ANTLR start "rule__FixedLengthField__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2926:1: rule__FixedLengthField__Group__0 : rule__FixedLengthField__Group__0__Impl rule__FixedLengthField__Group__1 ;
    public final void rule__FixedLengthField__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2930:1: ( rule__FixedLengthField__Group__0__Impl rule__FixedLengthField__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2931:2: rule__FixedLengthField__Group__0__Impl rule__FixedLengthField__Group__1
            {
            pushFollow(FOLLOW_rule__FixedLengthField__Group__0__Impl_in_rule__FixedLengthField__Group__06120);
            rule__FixedLengthField__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__FixedLengthField__Group__1_in_rule__FixedLengthField__Group__06123);
            rule__FixedLengthField__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FixedLengthField__Group__0"


    // $ANTLR start "rule__FixedLengthField__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2938:1: rule__FixedLengthField__Group__0__Impl : ( 'fixed' ) ;
    public final void rule__FixedLengthField__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2942:1: ( ( 'fixed' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2943:1: ( 'fixed' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2943:1: ( 'fixed' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2944:1: 'fixed'
            {
             before(grammarAccess.getFixedLengthFieldAccess().getFixedKeyword_0()); 
            match(input,18,FOLLOW_18_in_rule__FixedLengthField__Group__0__Impl6151); 
             after(grammarAccess.getFixedLengthFieldAccess().getFixedKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FixedLengthField__Group__0__Impl"


    // $ANTLR start "rule__FixedLengthField__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2957:1: rule__FixedLengthField__Group__1 : rule__FixedLengthField__Group__1__Impl rule__FixedLengthField__Group__2 ;
    public final void rule__FixedLengthField__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2961:1: ( rule__FixedLengthField__Group__1__Impl rule__FixedLengthField__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2962:2: rule__FixedLengthField__Group__1__Impl rule__FixedLengthField__Group__2
            {
            pushFollow(FOLLOW_rule__FixedLengthField__Group__1__Impl_in_rule__FixedLengthField__Group__16182);
            rule__FixedLengthField__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__FixedLengthField__Group__2_in_rule__FixedLengthField__Group__16185);
            rule__FixedLengthField__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FixedLengthField__Group__1"


    // $ANTLR start "rule__FixedLengthField__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2969:1: rule__FixedLengthField__Group__1__Impl : ( ( rule__FixedLengthField__NameAssignment_1 ) ) ;
    public final void rule__FixedLengthField__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2973:1: ( ( ( rule__FixedLengthField__NameAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2974:1: ( ( rule__FixedLengthField__NameAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2974:1: ( ( rule__FixedLengthField__NameAssignment_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2975:1: ( rule__FixedLengthField__NameAssignment_1 )
            {
             before(grammarAccess.getFixedLengthFieldAccess().getNameAssignment_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2976:1: ( rule__FixedLengthField__NameAssignment_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2976:2: rule__FixedLengthField__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__FixedLengthField__NameAssignment_1_in_rule__FixedLengthField__Group__1__Impl6212);
            rule__FixedLengthField__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getFixedLengthFieldAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FixedLengthField__Group__1__Impl"


    // $ANTLR start "rule__FixedLengthField__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2986:1: rule__FixedLengthField__Group__2 : rule__FixedLengthField__Group__2__Impl rule__FixedLengthField__Group__3 ;
    public final void rule__FixedLengthField__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2990:1: ( rule__FixedLengthField__Group__2__Impl rule__FixedLengthField__Group__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2991:2: rule__FixedLengthField__Group__2__Impl rule__FixedLengthField__Group__3
            {
            pushFollow(FOLLOW_rule__FixedLengthField__Group__2__Impl_in_rule__FixedLengthField__Group__26242);
            rule__FixedLengthField__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__FixedLengthField__Group__3_in_rule__FixedLengthField__Group__26245);
            rule__FixedLengthField__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FixedLengthField__Group__2"


    // $ANTLR start "rule__FixedLengthField__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:2998:1: rule__FixedLengthField__Group__2__Impl : ( '(' ) ;
    public final void rule__FixedLengthField__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3002:1: ( ( '(' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3003:1: ( '(' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3003:1: ( '(' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3004:1: '('
            {
             before(grammarAccess.getFixedLengthFieldAccess().getLeftParenthesisKeyword_2()); 
            match(input,38,FOLLOW_38_in_rule__FixedLengthField__Group__2__Impl6273); 
             after(grammarAccess.getFixedLengthFieldAccess().getLeftParenthesisKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FixedLengthField__Group__2__Impl"


    // $ANTLR start "rule__FixedLengthField__Group__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3017:1: rule__FixedLengthField__Group__3 : rule__FixedLengthField__Group__3__Impl rule__FixedLengthField__Group__4 ;
    public final void rule__FixedLengthField__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3021:1: ( rule__FixedLengthField__Group__3__Impl rule__FixedLengthField__Group__4 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3022:2: rule__FixedLengthField__Group__3__Impl rule__FixedLengthField__Group__4
            {
            pushFollow(FOLLOW_rule__FixedLengthField__Group__3__Impl_in_rule__FixedLengthField__Group__36304);
            rule__FixedLengthField__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__FixedLengthField__Group__4_in_rule__FixedLengthField__Group__36307);
            rule__FixedLengthField__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FixedLengthField__Group__3"


    // $ANTLR start "rule__FixedLengthField__Group__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3029:1: rule__FixedLengthField__Group__3__Impl : ( ( rule__FixedLengthField__SizeAssignment_3 ) ) ;
    public final void rule__FixedLengthField__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3033:1: ( ( ( rule__FixedLengthField__SizeAssignment_3 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3034:1: ( ( rule__FixedLengthField__SizeAssignment_3 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3034:1: ( ( rule__FixedLengthField__SizeAssignment_3 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3035:1: ( rule__FixedLengthField__SizeAssignment_3 )
            {
             before(grammarAccess.getFixedLengthFieldAccess().getSizeAssignment_3()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3036:1: ( rule__FixedLengthField__SizeAssignment_3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3036:2: rule__FixedLengthField__SizeAssignment_3
            {
            pushFollow(FOLLOW_rule__FixedLengthField__SizeAssignment_3_in_rule__FixedLengthField__Group__3__Impl6334);
            rule__FixedLengthField__SizeAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getFixedLengthFieldAccess().getSizeAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FixedLengthField__Group__3__Impl"


    // $ANTLR start "rule__FixedLengthField__Group__4"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3046:1: rule__FixedLengthField__Group__4 : rule__FixedLengthField__Group__4__Impl rule__FixedLengthField__Group__5 ;
    public final void rule__FixedLengthField__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3050:1: ( rule__FixedLengthField__Group__4__Impl rule__FixedLengthField__Group__5 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3051:2: rule__FixedLengthField__Group__4__Impl rule__FixedLengthField__Group__5
            {
            pushFollow(FOLLOW_rule__FixedLengthField__Group__4__Impl_in_rule__FixedLengthField__Group__46364);
            rule__FixedLengthField__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__FixedLengthField__Group__5_in_rule__FixedLengthField__Group__46367);
            rule__FixedLengthField__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FixedLengthField__Group__4"


    // $ANTLR start "rule__FixedLengthField__Group__4__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3058:1: rule__FixedLengthField__Group__4__Impl : ( ')' ) ;
    public final void rule__FixedLengthField__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3062:1: ( ( ')' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3063:1: ( ')' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3063:1: ( ')' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3064:1: ')'
            {
             before(grammarAccess.getFixedLengthFieldAccess().getRightParenthesisKeyword_4()); 
            match(input,39,FOLLOW_39_in_rule__FixedLengthField__Group__4__Impl6395); 
             after(grammarAccess.getFixedLengthFieldAccess().getRightParenthesisKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FixedLengthField__Group__4__Impl"


    // $ANTLR start "rule__FixedLengthField__Group__5"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3077:1: rule__FixedLengthField__Group__5 : rule__FixedLengthField__Group__5__Impl ;
    public final void rule__FixedLengthField__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3081:1: ( rule__FixedLengthField__Group__5__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3082:2: rule__FixedLengthField__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__FixedLengthField__Group__5__Impl_in_rule__FixedLengthField__Group__56426);
            rule__FixedLengthField__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FixedLengthField__Group__5"


    // $ANTLR start "rule__FixedLengthField__Group__5__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3088:1: rule__FixedLengthField__Group__5__Impl : ( ruleEndLine ) ;
    public final void rule__FixedLengthField__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3092:1: ( ( ruleEndLine ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3093:1: ( ruleEndLine )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3093:1: ( ruleEndLine )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3094:1: ruleEndLine
            {
             before(grammarAccess.getFixedLengthFieldAccess().getEndLineParserRuleCall_5()); 
            pushFollow(FOLLOW_ruleEndLine_in_rule__FixedLengthField__Group__5__Impl6453);
            ruleEndLine();

            state._fsp--;

             after(grammarAccess.getFixedLengthFieldAccess().getEndLineParserRuleCall_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FixedLengthField__Group__5__Impl"


    // $ANTLR start "rule__Imports__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3117:1: rule__Imports__Group__0 : rule__Imports__Group__0__Impl rule__Imports__Group__1 ;
    public final void rule__Imports__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3121:1: ( rule__Imports__Group__0__Impl rule__Imports__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3122:2: rule__Imports__Group__0__Impl rule__Imports__Group__1
            {
            pushFollow(FOLLOW_rule__Imports__Group__0__Impl_in_rule__Imports__Group__06494);
            rule__Imports__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Imports__Group__1_in_rule__Imports__Group__06497);
            rule__Imports__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Imports__Group__0"


    // $ANTLR start "rule__Imports__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3129:1: rule__Imports__Group__0__Impl : ( 'import' ) ;
    public final void rule__Imports__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3133:1: ( ( 'import' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3134:1: ( 'import' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3134:1: ( 'import' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3135:1: 'import'
            {
             before(grammarAccess.getImportsAccess().getImportKeyword_0()); 
            match(input,19,FOLLOW_19_in_rule__Imports__Group__0__Impl6525); 
             after(grammarAccess.getImportsAccess().getImportKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Imports__Group__0__Impl"


    // $ANTLR start "rule__Imports__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3148:1: rule__Imports__Group__1 : rule__Imports__Group__1__Impl rule__Imports__Group__2 ;
    public final void rule__Imports__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3152:1: ( rule__Imports__Group__1__Impl rule__Imports__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3153:2: rule__Imports__Group__1__Impl rule__Imports__Group__2
            {
            pushFollow(FOLLOW_rule__Imports__Group__1__Impl_in_rule__Imports__Group__16556);
            rule__Imports__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Imports__Group__2_in_rule__Imports__Group__16559);
            rule__Imports__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Imports__Group__1"


    // $ANTLR start "rule__Imports__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3160:1: rule__Imports__Group__1__Impl : ( ( rule__Imports__ImportTypeAssignment_1 ) ) ;
    public final void rule__Imports__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3164:1: ( ( ( rule__Imports__ImportTypeAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3165:1: ( ( rule__Imports__ImportTypeAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3165:1: ( ( rule__Imports__ImportTypeAssignment_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3166:1: ( rule__Imports__ImportTypeAssignment_1 )
            {
             before(grammarAccess.getImportsAccess().getImportTypeAssignment_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3167:1: ( rule__Imports__ImportTypeAssignment_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3167:2: rule__Imports__ImportTypeAssignment_1
            {
            pushFollow(FOLLOW_rule__Imports__ImportTypeAssignment_1_in_rule__Imports__Group__1__Impl6586);
            rule__Imports__ImportTypeAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getImportsAccess().getImportTypeAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Imports__Group__1__Impl"


    // $ANTLR start "rule__Imports__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3177:1: rule__Imports__Group__2 : rule__Imports__Group__2__Impl rule__Imports__Group__3 ;
    public final void rule__Imports__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3181:1: ( rule__Imports__Group__2__Impl rule__Imports__Group__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3182:2: rule__Imports__Group__2__Impl rule__Imports__Group__3
            {
            pushFollow(FOLLOW_rule__Imports__Group__2__Impl_in_rule__Imports__Group__26616);
            rule__Imports__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Imports__Group__3_in_rule__Imports__Group__26619);
            rule__Imports__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Imports__Group__2"


    // $ANTLR start "rule__Imports__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3189:1: rule__Imports__Group__2__Impl : ( ( rule__Imports__ImportURIAssignment_2 ) ) ;
    public final void rule__Imports__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3193:1: ( ( ( rule__Imports__ImportURIAssignment_2 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3194:1: ( ( rule__Imports__ImportURIAssignment_2 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3194:1: ( ( rule__Imports__ImportURIAssignment_2 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3195:1: ( rule__Imports__ImportURIAssignment_2 )
            {
             before(grammarAccess.getImportsAccess().getImportURIAssignment_2()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3196:1: ( rule__Imports__ImportURIAssignment_2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3196:2: rule__Imports__ImportURIAssignment_2
            {
            pushFollow(FOLLOW_rule__Imports__ImportURIAssignment_2_in_rule__Imports__Group__2__Impl6646);
            rule__Imports__ImportURIAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getImportsAccess().getImportURIAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Imports__Group__2__Impl"


    // $ANTLR start "rule__Imports__Group__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3206:1: rule__Imports__Group__3 : rule__Imports__Group__3__Impl ;
    public final void rule__Imports__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3210:1: ( rule__Imports__Group__3__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3211:2: rule__Imports__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__Imports__Group__3__Impl_in_rule__Imports__Group__36676);
            rule__Imports__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Imports__Group__3"


    // $ANTLR start "rule__Imports__Group__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3217:1: rule__Imports__Group__3__Impl : ( ( rule__Imports__EndLineAssignment_3 ) ) ;
    public final void rule__Imports__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3221:1: ( ( ( rule__Imports__EndLineAssignment_3 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3222:1: ( ( rule__Imports__EndLineAssignment_3 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3222:1: ( ( rule__Imports__EndLineAssignment_3 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3223:1: ( rule__Imports__EndLineAssignment_3 )
            {
             before(grammarAccess.getImportsAccess().getEndLineAssignment_3()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3224:1: ( rule__Imports__EndLineAssignment_3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3224:2: rule__Imports__EndLineAssignment_3
            {
            pushFollow(FOLLOW_rule__Imports__EndLineAssignment_3_in_rule__Imports__Group__3__Impl6703);
            rule__Imports__EndLineAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getImportsAccess().getEndLineAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Imports__Group__3__Impl"


    // $ANTLR start "rule__RPCMessage__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3242:1: rule__RPCMessage__Group__0 : rule__RPCMessage__Group__0__Impl rule__RPCMessage__Group__1 ;
    public final void rule__RPCMessage__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3246:1: ( rule__RPCMessage__Group__0__Impl rule__RPCMessage__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3247:2: rule__RPCMessage__Group__0__Impl rule__RPCMessage__Group__1
            {
            pushFollow(FOLLOW_rule__RPCMessage__Group__0__Impl_in_rule__RPCMessage__Group__06741);
            rule__RPCMessage__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RPCMessage__Group__1_in_rule__RPCMessage__Group__06744);
            rule__RPCMessage__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group__0"


    // $ANTLR start "rule__RPCMessage__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3254:1: rule__RPCMessage__Group__0__Impl : ( ( rule__RPCMessage__ReturnTypeAssignment_0 ) ) ;
    public final void rule__RPCMessage__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3258:1: ( ( ( rule__RPCMessage__ReturnTypeAssignment_0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3259:1: ( ( rule__RPCMessage__ReturnTypeAssignment_0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3259:1: ( ( rule__RPCMessage__ReturnTypeAssignment_0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3260:1: ( rule__RPCMessage__ReturnTypeAssignment_0 )
            {
             before(grammarAccess.getRPCMessageAccess().getReturnTypeAssignment_0()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3261:1: ( rule__RPCMessage__ReturnTypeAssignment_0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3261:2: rule__RPCMessage__ReturnTypeAssignment_0
            {
            pushFollow(FOLLOW_rule__RPCMessage__ReturnTypeAssignment_0_in_rule__RPCMessage__Group__0__Impl6771);
            rule__RPCMessage__ReturnTypeAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getRPCMessageAccess().getReturnTypeAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group__0__Impl"


    // $ANTLR start "rule__RPCMessage__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3271:1: rule__RPCMessage__Group__1 : rule__RPCMessage__Group__1__Impl rule__RPCMessage__Group__2 ;
    public final void rule__RPCMessage__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3275:1: ( rule__RPCMessage__Group__1__Impl rule__RPCMessage__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3276:2: rule__RPCMessage__Group__1__Impl rule__RPCMessage__Group__2
            {
            pushFollow(FOLLOW_rule__RPCMessage__Group__1__Impl_in_rule__RPCMessage__Group__16801);
            rule__RPCMessage__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RPCMessage__Group__2_in_rule__RPCMessage__Group__16804);
            rule__RPCMessage__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group__1"


    // $ANTLR start "rule__RPCMessage__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3283:1: rule__RPCMessage__Group__1__Impl : ( ( rule__RPCMessage__NameAssignment_1 ) ) ;
    public final void rule__RPCMessage__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3287:1: ( ( ( rule__RPCMessage__NameAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3288:1: ( ( rule__RPCMessage__NameAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3288:1: ( ( rule__RPCMessage__NameAssignment_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3289:1: ( rule__RPCMessage__NameAssignment_1 )
            {
             before(grammarAccess.getRPCMessageAccess().getNameAssignment_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3290:1: ( rule__RPCMessage__NameAssignment_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3290:2: rule__RPCMessage__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__RPCMessage__NameAssignment_1_in_rule__RPCMessage__Group__1__Impl6831);
            rule__RPCMessage__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getRPCMessageAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group__1__Impl"


    // $ANTLR start "rule__RPCMessage__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3300:1: rule__RPCMessage__Group__2 : rule__RPCMessage__Group__2__Impl rule__RPCMessage__Group__3 ;
    public final void rule__RPCMessage__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3304:1: ( rule__RPCMessage__Group__2__Impl rule__RPCMessage__Group__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3305:2: rule__RPCMessage__Group__2__Impl rule__RPCMessage__Group__3
            {
            pushFollow(FOLLOW_rule__RPCMessage__Group__2__Impl_in_rule__RPCMessage__Group__26861);
            rule__RPCMessage__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RPCMessage__Group__3_in_rule__RPCMessage__Group__26864);
            rule__RPCMessage__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group__2"


    // $ANTLR start "rule__RPCMessage__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3312:1: rule__RPCMessage__Group__2__Impl : ( '(' ) ;
    public final void rule__RPCMessage__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3316:1: ( ( '(' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3317:1: ( '(' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3317:1: ( '(' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3318:1: '('
            {
             before(grammarAccess.getRPCMessageAccess().getLeftParenthesisKeyword_2()); 
            match(input,38,FOLLOW_38_in_rule__RPCMessage__Group__2__Impl6892); 
             after(grammarAccess.getRPCMessageAccess().getLeftParenthesisKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group__2__Impl"


    // $ANTLR start "rule__RPCMessage__Group__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3331:1: rule__RPCMessage__Group__3 : rule__RPCMessage__Group__3__Impl rule__RPCMessage__Group__4 ;
    public final void rule__RPCMessage__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3335:1: ( rule__RPCMessage__Group__3__Impl rule__RPCMessage__Group__4 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3336:2: rule__RPCMessage__Group__3__Impl rule__RPCMessage__Group__4
            {
            pushFollow(FOLLOW_rule__RPCMessage__Group__3__Impl_in_rule__RPCMessage__Group__36923);
            rule__RPCMessage__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RPCMessage__Group__4_in_rule__RPCMessage__Group__36926);
            rule__RPCMessage__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group__3"


    // $ANTLR start "rule__RPCMessage__Group__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3343:1: rule__RPCMessage__Group__3__Impl : ( ( rule__RPCMessage__Group_3__0 )? ) ;
    public final void rule__RPCMessage__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3347:1: ( ( ( rule__RPCMessage__Group_3__0 )? ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3348:1: ( ( rule__RPCMessage__Group_3__0 )? )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3348:1: ( ( rule__RPCMessage__Group_3__0 )? )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3349:1: ( rule__RPCMessage__Group_3__0 )?
            {
             before(grammarAccess.getRPCMessageAccess().getGroup_3()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3350:1: ( rule__RPCMessage__Group_3__0 )?
            int alt25=2;
            int LA25_0 = input.LA(1);

            if ( (LA25_0==RULE_ID||(LA25_0>=26 && LA25_0<=34)) ) {
                alt25=1;
            }
            switch (alt25) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3350:2: rule__RPCMessage__Group_3__0
                    {
                    pushFollow(FOLLOW_rule__RPCMessage__Group_3__0_in_rule__RPCMessage__Group__3__Impl6953);
                    rule__RPCMessage__Group_3__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRPCMessageAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group__3__Impl"


    // $ANTLR start "rule__RPCMessage__Group__4"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3360:1: rule__RPCMessage__Group__4 : rule__RPCMessage__Group__4__Impl rule__RPCMessage__Group__5 ;
    public final void rule__RPCMessage__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3364:1: ( rule__RPCMessage__Group__4__Impl rule__RPCMessage__Group__5 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3365:2: rule__RPCMessage__Group__4__Impl rule__RPCMessage__Group__5
            {
            pushFollow(FOLLOW_rule__RPCMessage__Group__4__Impl_in_rule__RPCMessage__Group__46984);
            rule__RPCMessage__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RPCMessage__Group__5_in_rule__RPCMessage__Group__46987);
            rule__RPCMessage__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group__4"


    // $ANTLR start "rule__RPCMessage__Group__4__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3372:1: rule__RPCMessage__Group__4__Impl : ( ')' ) ;
    public final void rule__RPCMessage__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3376:1: ( ( ')' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3377:1: ( ')' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3377:1: ( ')' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3378:1: ')'
            {
             before(grammarAccess.getRPCMessageAccess().getRightParenthesisKeyword_4()); 
            match(input,39,FOLLOW_39_in_rule__RPCMessage__Group__4__Impl7015); 
             after(grammarAccess.getRPCMessageAccess().getRightParenthesisKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group__4__Impl"


    // $ANTLR start "rule__RPCMessage__Group__5"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3391:1: rule__RPCMessage__Group__5 : rule__RPCMessage__Group__5__Impl rule__RPCMessage__Group__6 ;
    public final void rule__RPCMessage__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3395:1: ( rule__RPCMessage__Group__5__Impl rule__RPCMessage__Group__6 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3396:2: rule__RPCMessage__Group__5__Impl rule__RPCMessage__Group__6
            {
            pushFollow(FOLLOW_rule__RPCMessage__Group__5__Impl_in_rule__RPCMessage__Group__57046);
            rule__RPCMessage__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RPCMessage__Group__6_in_rule__RPCMessage__Group__57049);
            rule__RPCMessage__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group__5"


    // $ANTLR start "rule__RPCMessage__Group__5__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3403:1: rule__RPCMessage__Group__5__Impl : ( ( 'oneway' )? ) ;
    public final void rule__RPCMessage__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3407:1: ( ( ( 'oneway' )? ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3408:1: ( ( 'oneway' )? )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3408:1: ( ( 'oneway' )? )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3409:1: ( 'oneway' )?
            {
             before(grammarAccess.getRPCMessageAccess().getOnewayKeyword_5()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3410:1: ( 'oneway' )?
            int alt26=2;
            int LA26_0 = input.LA(1);

            if ( (LA26_0==40) ) {
                alt26=1;
            }
            switch (alt26) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3411:2: 'oneway'
                    {
                    match(input,40,FOLLOW_40_in_rule__RPCMessage__Group__5__Impl7078); 

                    }
                    break;

            }

             after(grammarAccess.getRPCMessageAccess().getOnewayKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group__5__Impl"


    // $ANTLR start "rule__RPCMessage__Group__6"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3422:1: rule__RPCMessage__Group__6 : rule__RPCMessage__Group__6__Impl rule__RPCMessage__Group__7 ;
    public final void rule__RPCMessage__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3426:1: ( rule__RPCMessage__Group__6__Impl rule__RPCMessage__Group__7 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3427:2: rule__RPCMessage__Group__6__Impl rule__RPCMessage__Group__7
            {
            pushFollow(FOLLOW_rule__RPCMessage__Group__6__Impl_in_rule__RPCMessage__Group__67111);
            rule__RPCMessage__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RPCMessage__Group__7_in_rule__RPCMessage__Group__67114);
            rule__RPCMessage__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group__6"


    // $ANTLR start "rule__RPCMessage__Group__6__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3434:1: rule__RPCMessage__Group__6__Impl : ( ( rule__RPCMessage__ThrowsAssignment_6 )? ) ;
    public final void rule__RPCMessage__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3438:1: ( ( ( rule__RPCMessage__ThrowsAssignment_6 )? ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3439:1: ( ( rule__RPCMessage__ThrowsAssignment_6 )? )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3439:1: ( ( rule__RPCMessage__ThrowsAssignment_6 )? )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3440:1: ( rule__RPCMessage__ThrowsAssignment_6 )?
            {
             before(grammarAccess.getRPCMessageAccess().getThrowsAssignment_6()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3441:1: ( rule__RPCMessage__ThrowsAssignment_6 )?
            int alt27=2;
            int LA27_0 = input.LA(1);

            if ( (LA27_0==20) ) {
                alt27=1;
            }
            switch (alt27) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3441:2: rule__RPCMessage__ThrowsAssignment_6
                    {
                    pushFollow(FOLLOW_rule__RPCMessage__ThrowsAssignment_6_in_rule__RPCMessage__Group__6__Impl7141);
                    rule__RPCMessage__ThrowsAssignment_6();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRPCMessageAccess().getThrowsAssignment_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group__6__Impl"


    // $ANTLR start "rule__RPCMessage__Group__7"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3451:1: rule__RPCMessage__Group__7 : rule__RPCMessage__Group__7__Impl ;
    public final void rule__RPCMessage__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3455:1: ( rule__RPCMessage__Group__7__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3456:2: rule__RPCMessage__Group__7__Impl
            {
            pushFollow(FOLLOW_rule__RPCMessage__Group__7__Impl_in_rule__RPCMessage__Group__77172);
            rule__RPCMessage__Group__7__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group__7"


    // $ANTLR start "rule__RPCMessage__Group__7__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3462:1: rule__RPCMessage__Group__7__Impl : ( ruleEndLine ) ;
    public final void rule__RPCMessage__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3466:1: ( ( ruleEndLine ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3467:1: ( ruleEndLine )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3467:1: ( ruleEndLine )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3468:1: ruleEndLine
            {
             before(grammarAccess.getRPCMessageAccess().getEndLineParserRuleCall_7()); 
            pushFollow(FOLLOW_ruleEndLine_in_rule__RPCMessage__Group__7__Impl7199);
            ruleEndLine();

            state._fsp--;

             after(grammarAccess.getRPCMessageAccess().getEndLineParserRuleCall_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group__7__Impl"


    // $ANTLR start "rule__RPCMessage__Group_3__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3495:1: rule__RPCMessage__Group_3__0 : rule__RPCMessage__Group_3__0__Impl rule__RPCMessage__Group_3__1 ;
    public final void rule__RPCMessage__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3499:1: ( rule__RPCMessage__Group_3__0__Impl rule__RPCMessage__Group_3__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3500:2: rule__RPCMessage__Group_3__0__Impl rule__RPCMessage__Group_3__1
            {
            pushFollow(FOLLOW_rule__RPCMessage__Group_3__0__Impl_in_rule__RPCMessage__Group_3__07244);
            rule__RPCMessage__Group_3__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RPCMessage__Group_3__1_in_rule__RPCMessage__Group_3__07247);
            rule__RPCMessage__Group_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group_3__0"


    // $ANTLR start "rule__RPCMessage__Group_3__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3507:1: rule__RPCMessage__Group_3__0__Impl : ( ( rule__RPCMessage__ArgsAssignment_3_0 ) ) ;
    public final void rule__RPCMessage__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3511:1: ( ( ( rule__RPCMessage__ArgsAssignment_3_0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3512:1: ( ( rule__RPCMessage__ArgsAssignment_3_0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3512:1: ( ( rule__RPCMessage__ArgsAssignment_3_0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3513:1: ( rule__RPCMessage__ArgsAssignment_3_0 )
            {
             before(grammarAccess.getRPCMessageAccess().getArgsAssignment_3_0()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3514:1: ( rule__RPCMessage__ArgsAssignment_3_0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3514:2: rule__RPCMessage__ArgsAssignment_3_0
            {
            pushFollow(FOLLOW_rule__RPCMessage__ArgsAssignment_3_0_in_rule__RPCMessage__Group_3__0__Impl7274);
            rule__RPCMessage__ArgsAssignment_3_0();

            state._fsp--;


            }

             after(grammarAccess.getRPCMessageAccess().getArgsAssignment_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group_3__0__Impl"


    // $ANTLR start "rule__RPCMessage__Group_3__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3524:1: rule__RPCMessage__Group_3__1 : rule__RPCMessage__Group_3__1__Impl ;
    public final void rule__RPCMessage__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3528:1: ( rule__RPCMessage__Group_3__1__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3529:2: rule__RPCMessage__Group_3__1__Impl
            {
            pushFollow(FOLLOW_rule__RPCMessage__Group_3__1__Impl_in_rule__RPCMessage__Group_3__17304);
            rule__RPCMessage__Group_3__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group_3__1"


    // $ANTLR start "rule__RPCMessage__Group_3__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3535:1: rule__RPCMessage__Group_3__1__Impl : ( ( rule__RPCMessage__Group_3_1__0 )* ) ;
    public final void rule__RPCMessage__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3539:1: ( ( ( rule__RPCMessage__Group_3_1__0 )* ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3540:1: ( ( rule__RPCMessage__Group_3_1__0 )* )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3540:1: ( ( rule__RPCMessage__Group_3_1__0 )* )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3541:1: ( rule__RPCMessage__Group_3_1__0 )*
            {
             before(grammarAccess.getRPCMessageAccess().getGroup_3_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3542:1: ( rule__RPCMessage__Group_3_1__0 )*
            loop28:
            do {
                int alt28=2;
                int LA28_0 = input.LA(1);

                if ( (LA28_0==13) ) {
                    alt28=1;
                }


                switch (alt28) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3542:2: rule__RPCMessage__Group_3_1__0
            	    {
            	    pushFollow(FOLLOW_rule__RPCMessage__Group_3_1__0_in_rule__RPCMessage__Group_3__1__Impl7331);
            	    rule__RPCMessage__Group_3_1__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop28;
                }
            } while (true);

             after(grammarAccess.getRPCMessageAccess().getGroup_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group_3__1__Impl"


    // $ANTLR start "rule__RPCMessage__Group_3_1__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3556:1: rule__RPCMessage__Group_3_1__0 : rule__RPCMessage__Group_3_1__0__Impl rule__RPCMessage__Group_3_1__1 ;
    public final void rule__RPCMessage__Group_3_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3560:1: ( rule__RPCMessage__Group_3_1__0__Impl rule__RPCMessage__Group_3_1__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3561:2: rule__RPCMessage__Group_3_1__0__Impl rule__RPCMessage__Group_3_1__1
            {
            pushFollow(FOLLOW_rule__RPCMessage__Group_3_1__0__Impl_in_rule__RPCMessage__Group_3_1__07366);
            rule__RPCMessage__Group_3_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RPCMessage__Group_3_1__1_in_rule__RPCMessage__Group_3_1__07369);
            rule__RPCMessage__Group_3_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group_3_1__0"


    // $ANTLR start "rule__RPCMessage__Group_3_1__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3568:1: rule__RPCMessage__Group_3_1__0__Impl : ( ruleListSeparator ) ;
    public final void rule__RPCMessage__Group_3_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3572:1: ( ( ruleListSeparator ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3573:1: ( ruleListSeparator )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3573:1: ( ruleListSeparator )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3574:1: ruleListSeparator
            {
             before(grammarAccess.getRPCMessageAccess().getListSeparatorParserRuleCall_3_1_0()); 
            pushFollow(FOLLOW_ruleListSeparator_in_rule__RPCMessage__Group_3_1__0__Impl7396);
            ruleListSeparator();

            state._fsp--;

             after(grammarAccess.getRPCMessageAccess().getListSeparatorParserRuleCall_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group_3_1__0__Impl"


    // $ANTLR start "rule__RPCMessage__Group_3_1__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3585:1: rule__RPCMessage__Group_3_1__1 : rule__RPCMessage__Group_3_1__1__Impl ;
    public final void rule__RPCMessage__Group_3_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3589:1: ( rule__RPCMessage__Group_3_1__1__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3590:2: rule__RPCMessage__Group_3_1__1__Impl
            {
            pushFollow(FOLLOW_rule__RPCMessage__Group_3_1__1__Impl_in_rule__RPCMessage__Group_3_1__17425);
            rule__RPCMessage__Group_3_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group_3_1__1"


    // $ANTLR start "rule__RPCMessage__Group_3_1__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3596:1: rule__RPCMessage__Group_3_1__1__Impl : ( ( rule__RPCMessage__ArgsAssignment_3_1_1 ) ) ;
    public final void rule__RPCMessage__Group_3_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3600:1: ( ( ( rule__RPCMessage__ArgsAssignment_3_1_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3601:1: ( ( rule__RPCMessage__ArgsAssignment_3_1_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3601:1: ( ( rule__RPCMessage__ArgsAssignment_3_1_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3602:1: ( rule__RPCMessage__ArgsAssignment_3_1_1 )
            {
             before(grammarAccess.getRPCMessageAccess().getArgsAssignment_3_1_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3603:1: ( rule__RPCMessage__ArgsAssignment_3_1_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3603:2: rule__RPCMessage__ArgsAssignment_3_1_1
            {
            pushFollow(FOLLOW_rule__RPCMessage__ArgsAssignment_3_1_1_in_rule__RPCMessage__Group_3_1__1__Impl7452);
            rule__RPCMessage__ArgsAssignment_3_1_1();

            state._fsp--;


            }

             after(grammarAccess.getRPCMessageAccess().getArgsAssignment_3_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__Group_3_1__1__Impl"


    // $ANTLR start "rule__Name__Group_1__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3617:1: rule__Name__Group_1__0 : rule__Name__Group_1__0__Impl rule__Name__Group_1__1 ;
    public final void rule__Name__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3621:1: ( rule__Name__Group_1__0__Impl rule__Name__Group_1__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3622:2: rule__Name__Group_1__0__Impl rule__Name__Group_1__1
            {
            pushFollow(FOLLOW_rule__Name__Group_1__0__Impl_in_rule__Name__Group_1__07486);
            rule__Name__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Name__Group_1__1_in_rule__Name__Group_1__07489);
            rule__Name__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Name__Group_1__0"


    // $ANTLR start "rule__Name__Group_1__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3629:1: rule__Name__Group_1__0__Impl : ( ( rule__Name__ValueAssignment_1_0 ) ) ;
    public final void rule__Name__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3633:1: ( ( ( rule__Name__ValueAssignment_1_0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3634:1: ( ( rule__Name__ValueAssignment_1_0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3634:1: ( ( rule__Name__ValueAssignment_1_0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3635:1: ( rule__Name__ValueAssignment_1_0 )
            {
             before(grammarAccess.getNameAccess().getValueAssignment_1_0()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3636:1: ( rule__Name__ValueAssignment_1_0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3636:2: rule__Name__ValueAssignment_1_0
            {
            pushFollow(FOLLOW_rule__Name__ValueAssignment_1_0_in_rule__Name__Group_1__0__Impl7516);
            rule__Name__ValueAssignment_1_0();

            state._fsp--;


            }

             after(grammarAccess.getNameAccess().getValueAssignment_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Name__Group_1__0__Impl"


    // $ANTLR start "rule__Name__Group_1__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3646:1: rule__Name__Group_1__1 : rule__Name__Group_1__1__Impl rule__Name__Group_1__2 ;
    public final void rule__Name__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3650:1: ( rule__Name__Group_1__1__Impl rule__Name__Group_1__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3651:2: rule__Name__Group_1__1__Impl rule__Name__Group_1__2
            {
            pushFollow(FOLLOW_rule__Name__Group_1__1__Impl_in_rule__Name__Group_1__17546);
            rule__Name__Group_1__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Name__Group_1__2_in_rule__Name__Group_1__17549);
            rule__Name__Group_1__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Name__Group_1__1"


    // $ANTLR start "rule__Name__Group_1__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3658:1: rule__Name__Group_1__1__Impl : ( ruleReservedIdentifiers ) ;
    public final void rule__Name__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3662:1: ( ( ruleReservedIdentifiers ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3663:1: ( ruleReservedIdentifiers )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3663:1: ( ruleReservedIdentifiers )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3664:1: ruleReservedIdentifiers
            {
             before(grammarAccess.getNameAccess().getReservedIdentifiersParserRuleCall_1_1()); 
            pushFollow(FOLLOW_ruleReservedIdentifiers_in_rule__Name__Group_1__1__Impl7576);
            ruleReservedIdentifiers();

            state._fsp--;

             after(grammarAccess.getNameAccess().getReservedIdentifiersParserRuleCall_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Name__Group_1__1__Impl"


    // $ANTLR start "rule__Name__Group_1__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3675:1: rule__Name__Group_1__2 : rule__Name__Group_1__2__Impl ;
    public final void rule__Name__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3679:1: ( rule__Name__Group_1__2__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3680:2: rule__Name__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__Name__Group_1__2__Impl_in_rule__Name__Group_1__27605);
            rule__Name__Group_1__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Name__Group_1__2"


    // $ANTLR start "rule__Name__Group_1__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3686:1: rule__Name__Group_1__2__Impl : ( '`' ) ;
    public final void rule__Name__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3690:1: ( ( '`' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3691:1: ( '`' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3691:1: ( '`' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3692:1: '`'
            {
             before(grammarAccess.getNameAccess().getGraveAccentKeyword_1_2()); 
            match(input,41,FOLLOW_41_in_rule__Name__Group_1__2__Impl7633); 
             after(grammarAccess.getNameAccess().getGraveAccentKeyword_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Name__Group_1__2__Impl"


    // $ANTLR start "rule__Throws__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3711:1: rule__Throws__Group__0 : rule__Throws__Group__0__Impl rule__Throws__Group__1 ;
    public final void rule__Throws__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3715:1: ( rule__Throws__Group__0__Impl rule__Throws__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3716:2: rule__Throws__Group__0__Impl rule__Throws__Group__1
            {
            pushFollow(FOLLOW_rule__Throws__Group__0__Impl_in_rule__Throws__Group__07670);
            rule__Throws__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Throws__Group__1_in_rule__Throws__Group__07673);
            rule__Throws__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group__0"


    // $ANTLR start "rule__Throws__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3723:1: rule__Throws__Group__0__Impl : ( 'throws' ) ;
    public final void rule__Throws__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3727:1: ( ( 'throws' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3728:1: ( 'throws' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3728:1: ( 'throws' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3729:1: 'throws'
            {
             before(grammarAccess.getThrowsAccess().getThrowsKeyword_0()); 
            match(input,20,FOLLOW_20_in_rule__Throws__Group__0__Impl7701); 
             after(grammarAccess.getThrowsAccess().getThrowsKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group__0__Impl"


    // $ANTLR start "rule__Throws__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3742:1: rule__Throws__Group__1 : rule__Throws__Group__1__Impl ;
    public final void rule__Throws__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3746:1: ( rule__Throws__Group__1__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3747:2: rule__Throws__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Throws__Group__1__Impl_in_rule__Throws__Group__17732);
            rule__Throws__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group__1"


    // $ANTLR start "rule__Throws__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3753:1: rule__Throws__Group__1__Impl : ( ( rule__Throws__ErrorAssignment_1 ) ) ;
    public final void rule__Throws__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3757:1: ( ( ( rule__Throws__ErrorAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3758:1: ( ( rule__Throws__ErrorAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3758:1: ( ( rule__Throws__ErrorAssignment_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3759:1: ( rule__Throws__ErrorAssignment_1 )
            {
             before(grammarAccess.getThrowsAccess().getErrorAssignment_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3760:1: ( rule__Throws__ErrorAssignment_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3760:2: rule__Throws__ErrorAssignment_1
            {
            pushFollow(FOLLOW_rule__Throws__ErrorAssignment_1_in_rule__Throws__Group__1__Impl7759);
            rule__Throws__ErrorAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getThrowsAccess().getErrorAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__Group__1__Impl"


    // $ANTLR start "rule__Argument__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3774:1: rule__Argument__Group__0 : rule__Argument__Group__0__Impl rule__Argument__Group__1 ;
    public final void rule__Argument__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3778:1: ( rule__Argument__Group__0__Impl rule__Argument__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3779:2: rule__Argument__Group__0__Impl rule__Argument__Group__1
            {
            pushFollow(FOLLOW_rule__Argument__Group__0__Impl_in_rule__Argument__Group__07793);
            rule__Argument__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Argument__Group__1_in_rule__Argument__Group__07796);
            rule__Argument__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Argument__Group__0"


    // $ANTLR start "rule__Argument__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3786:1: rule__Argument__Group__0__Impl : ( ( rule__Argument__TypeAssignment_0 ) ) ;
    public final void rule__Argument__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3790:1: ( ( ( rule__Argument__TypeAssignment_0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3791:1: ( ( rule__Argument__TypeAssignment_0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3791:1: ( ( rule__Argument__TypeAssignment_0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3792:1: ( rule__Argument__TypeAssignment_0 )
            {
             before(grammarAccess.getArgumentAccess().getTypeAssignment_0()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3793:1: ( rule__Argument__TypeAssignment_0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3793:2: rule__Argument__TypeAssignment_0
            {
            pushFollow(FOLLOW_rule__Argument__TypeAssignment_0_in_rule__Argument__Group__0__Impl7823);
            rule__Argument__TypeAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getArgumentAccess().getTypeAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Argument__Group__0__Impl"


    // $ANTLR start "rule__Argument__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3803:1: rule__Argument__Group__1 : rule__Argument__Group__1__Impl rule__Argument__Group__2 ;
    public final void rule__Argument__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3807:1: ( rule__Argument__Group__1__Impl rule__Argument__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3808:2: rule__Argument__Group__1__Impl rule__Argument__Group__2
            {
            pushFollow(FOLLOW_rule__Argument__Group__1__Impl_in_rule__Argument__Group__17853);
            rule__Argument__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Argument__Group__2_in_rule__Argument__Group__17856);
            rule__Argument__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Argument__Group__1"


    // $ANTLR start "rule__Argument__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3815:1: rule__Argument__Group__1__Impl : ( ( rule__Argument__NameAssignment_1 ) ) ;
    public final void rule__Argument__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3819:1: ( ( ( rule__Argument__NameAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3820:1: ( ( rule__Argument__NameAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3820:1: ( ( rule__Argument__NameAssignment_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3821:1: ( rule__Argument__NameAssignment_1 )
            {
             before(grammarAccess.getArgumentAccess().getNameAssignment_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3822:1: ( rule__Argument__NameAssignment_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3822:2: rule__Argument__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Argument__NameAssignment_1_in_rule__Argument__Group__1__Impl7883);
            rule__Argument__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getArgumentAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Argument__Group__1__Impl"


    // $ANTLR start "rule__Argument__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3832:1: rule__Argument__Group__2 : rule__Argument__Group__2__Impl ;
    public final void rule__Argument__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3836:1: ( rule__Argument__Group__2__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3837:2: rule__Argument__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Argument__Group__2__Impl_in_rule__Argument__Group__27913);
            rule__Argument__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Argument__Group__2"


    // $ANTLR start "rule__Argument__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3843:1: rule__Argument__Group__2__Impl : ( ( rule__Argument__Group_2__0 )? ) ;
    public final void rule__Argument__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3847:1: ( ( ( rule__Argument__Group_2__0 )? ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3848:1: ( ( rule__Argument__Group_2__0 )? )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3848:1: ( ( rule__Argument__Group_2__0 )? )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3849:1: ( rule__Argument__Group_2__0 )?
            {
             before(grammarAccess.getArgumentAccess().getGroup_2()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3850:1: ( rule__Argument__Group_2__0 )?
            int alt29=2;
            int LA29_0 = input.LA(1);

            if ( (LA29_0==37) ) {
                alt29=1;
            }
            switch (alt29) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3850:2: rule__Argument__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__Argument__Group_2__0_in_rule__Argument__Group__2__Impl7940);
                    rule__Argument__Group_2__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getArgumentAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Argument__Group__2__Impl"


    // $ANTLR start "rule__Argument__Group_2__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3866:1: rule__Argument__Group_2__0 : rule__Argument__Group_2__0__Impl rule__Argument__Group_2__1 ;
    public final void rule__Argument__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3870:1: ( rule__Argument__Group_2__0__Impl rule__Argument__Group_2__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3871:2: rule__Argument__Group_2__0__Impl rule__Argument__Group_2__1
            {
            pushFollow(FOLLOW_rule__Argument__Group_2__0__Impl_in_rule__Argument__Group_2__07977);
            rule__Argument__Group_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Argument__Group_2__1_in_rule__Argument__Group_2__07980);
            rule__Argument__Group_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Argument__Group_2__0"


    // $ANTLR start "rule__Argument__Group_2__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3878:1: rule__Argument__Group_2__0__Impl : ( '=' ) ;
    public final void rule__Argument__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3882:1: ( ( '=' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3883:1: ( '=' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3883:1: ( '=' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3884:1: '='
            {
             before(grammarAccess.getArgumentAccess().getEqualsSignKeyword_2_0()); 
            match(input,37,FOLLOW_37_in_rule__Argument__Group_2__0__Impl8008); 
             after(grammarAccess.getArgumentAccess().getEqualsSignKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Argument__Group_2__0__Impl"


    // $ANTLR start "rule__Argument__Group_2__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3897:1: rule__Argument__Group_2__1 : rule__Argument__Group_2__1__Impl ;
    public final void rule__Argument__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3901:1: ( rule__Argument__Group_2__1__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3902:2: rule__Argument__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__Argument__Group_2__1__Impl_in_rule__Argument__Group_2__18039);
            rule__Argument__Group_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Argument__Group_2__1"


    // $ANTLR start "rule__Argument__Group_2__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3908:1: rule__Argument__Group_2__1__Impl : ( ( rule__Argument__ValueAssignment_2_1 ) ) ;
    public final void rule__Argument__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3912:1: ( ( ( rule__Argument__ValueAssignment_2_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3913:1: ( ( rule__Argument__ValueAssignment_2_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3913:1: ( ( rule__Argument__ValueAssignment_2_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3914:1: ( rule__Argument__ValueAssignment_2_1 )
            {
             before(grammarAccess.getArgumentAccess().getValueAssignment_2_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3915:1: ( rule__Argument__ValueAssignment_2_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3915:2: rule__Argument__ValueAssignment_2_1
            {
            pushFollow(FOLLOW_rule__Argument__ValueAssignment_2_1_in_rule__Argument__Group_2__1__Impl8066);
            rule__Argument__ValueAssignment_2_1();

            state._fsp--;


            }

             after(grammarAccess.getArgumentAccess().getValueAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Argument__Group_2__1__Impl"


    // $ANTLR start "rule__AliasAnnotation__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3929:1: rule__AliasAnnotation__Group__0 : rule__AliasAnnotation__Group__0__Impl rule__AliasAnnotation__Group__1 ;
    public final void rule__AliasAnnotation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3933:1: ( rule__AliasAnnotation__Group__0__Impl rule__AliasAnnotation__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3934:2: rule__AliasAnnotation__Group__0__Impl rule__AliasAnnotation__Group__1
            {
            pushFollow(FOLLOW_rule__AliasAnnotation__Group__0__Impl_in_rule__AliasAnnotation__Group__08100);
            rule__AliasAnnotation__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__AliasAnnotation__Group__1_in_rule__AliasAnnotation__Group__08103);
            rule__AliasAnnotation__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group__0"


    // $ANTLR start "rule__AliasAnnotation__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3941:1: rule__AliasAnnotation__Group__0__Impl : ( '@aliases' ) ;
    public final void rule__AliasAnnotation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3945:1: ( ( '@aliases' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3946:1: ( '@aliases' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3946:1: ( '@aliases' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3947:1: '@aliases'
            {
             before(grammarAccess.getAliasAnnotationAccess().getAliasesKeyword_0()); 
            match(input,42,FOLLOW_42_in_rule__AliasAnnotation__Group__0__Impl8131); 
             after(grammarAccess.getAliasAnnotationAccess().getAliasesKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group__0__Impl"


    // $ANTLR start "rule__AliasAnnotation__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3960:1: rule__AliasAnnotation__Group__1 : rule__AliasAnnotation__Group__1__Impl rule__AliasAnnotation__Group__2 ;
    public final void rule__AliasAnnotation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3964:1: ( rule__AliasAnnotation__Group__1__Impl rule__AliasAnnotation__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3965:2: rule__AliasAnnotation__Group__1__Impl rule__AliasAnnotation__Group__2
            {
            pushFollow(FOLLOW_rule__AliasAnnotation__Group__1__Impl_in_rule__AliasAnnotation__Group__18162);
            rule__AliasAnnotation__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__AliasAnnotation__Group__2_in_rule__AliasAnnotation__Group__18165);
            rule__AliasAnnotation__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group__1"


    // $ANTLR start "rule__AliasAnnotation__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3972:1: rule__AliasAnnotation__Group__1__Impl : ( '(' ) ;
    public final void rule__AliasAnnotation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3976:1: ( ( '(' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3977:1: ( '(' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3977:1: ( '(' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3978:1: '('
            {
             before(grammarAccess.getAliasAnnotationAccess().getLeftParenthesisKeyword_1()); 
            match(input,38,FOLLOW_38_in_rule__AliasAnnotation__Group__1__Impl8193); 
             after(grammarAccess.getAliasAnnotationAccess().getLeftParenthesisKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group__1__Impl"


    // $ANTLR start "rule__AliasAnnotation__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3991:1: rule__AliasAnnotation__Group__2 : rule__AliasAnnotation__Group__2__Impl rule__AliasAnnotation__Group__3 ;
    public final void rule__AliasAnnotation__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3995:1: ( rule__AliasAnnotation__Group__2__Impl rule__AliasAnnotation__Group__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:3996:2: rule__AliasAnnotation__Group__2__Impl rule__AliasAnnotation__Group__3
            {
            pushFollow(FOLLOW_rule__AliasAnnotation__Group__2__Impl_in_rule__AliasAnnotation__Group__28224);
            rule__AliasAnnotation__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__AliasAnnotation__Group__3_in_rule__AliasAnnotation__Group__28227);
            rule__AliasAnnotation__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group__2"


    // $ANTLR start "rule__AliasAnnotation__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4003:1: rule__AliasAnnotation__Group__2__Impl : ( '[' ) ;
    public final void rule__AliasAnnotation__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4007:1: ( ( '[' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4008:1: ( '[' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4008:1: ( '[' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4009:1: '['
            {
             before(grammarAccess.getAliasAnnotationAccess().getLeftSquareBracketKeyword_2()); 
            match(input,43,FOLLOW_43_in_rule__AliasAnnotation__Group__2__Impl8255); 
             after(grammarAccess.getAliasAnnotationAccess().getLeftSquareBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group__2__Impl"


    // $ANTLR start "rule__AliasAnnotation__Group__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4022:1: rule__AliasAnnotation__Group__3 : rule__AliasAnnotation__Group__3__Impl rule__AliasAnnotation__Group__4 ;
    public final void rule__AliasAnnotation__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4026:1: ( rule__AliasAnnotation__Group__3__Impl rule__AliasAnnotation__Group__4 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4027:2: rule__AliasAnnotation__Group__3__Impl rule__AliasAnnotation__Group__4
            {
            pushFollow(FOLLOW_rule__AliasAnnotation__Group__3__Impl_in_rule__AliasAnnotation__Group__38286);
            rule__AliasAnnotation__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__AliasAnnotation__Group__4_in_rule__AliasAnnotation__Group__38289);
            rule__AliasAnnotation__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group__3"


    // $ANTLR start "rule__AliasAnnotation__Group__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4034:1: rule__AliasAnnotation__Group__3__Impl : ( ( rule__AliasAnnotation__ElementAssignment_3 ) ) ;
    public final void rule__AliasAnnotation__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4038:1: ( ( ( rule__AliasAnnotation__ElementAssignment_3 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4039:1: ( ( rule__AliasAnnotation__ElementAssignment_3 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4039:1: ( ( rule__AliasAnnotation__ElementAssignment_3 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4040:1: ( rule__AliasAnnotation__ElementAssignment_3 )
            {
             before(grammarAccess.getAliasAnnotationAccess().getElementAssignment_3()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4041:1: ( rule__AliasAnnotation__ElementAssignment_3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4041:2: rule__AliasAnnotation__ElementAssignment_3
            {
            pushFollow(FOLLOW_rule__AliasAnnotation__ElementAssignment_3_in_rule__AliasAnnotation__Group__3__Impl8316);
            rule__AliasAnnotation__ElementAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getAliasAnnotationAccess().getElementAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group__3__Impl"


    // $ANTLR start "rule__AliasAnnotation__Group__4"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4051:1: rule__AliasAnnotation__Group__4 : rule__AliasAnnotation__Group__4__Impl rule__AliasAnnotation__Group__5 ;
    public final void rule__AliasAnnotation__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4055:1: ( rule__AliasAnnotation__Group__4__Impl rule__AliasAnnotation__Group__5 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4056:2: rule__AliasAnnotation__Group__4__Impl rule__AliasAnnotation__Group__5
            {
            pushFollow(FOLLOW_rule__AliasAnnotation__Group__4__Impl_in_rule__AliasAnnotation__Group__48346);
            rule__AliasAnnotation__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__AliasAnnotation__Group__5_in_rule__AliasAnnotation__Group__48349);
            rule__AliasAnnotation__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group__4"


    // $ANTLR start "rule__AliasAnnotation__Group__4__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4063:1: rule__AliasAnnotation__Group__4__Impl : ( ( rule__AliasAnnotation__Group_4__0 )* ) ;
    public final void rule__AliasAnnotation__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4067:1: ( ( ( rule__AliasAnnotation__Group_4__0 )* ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4068:1: ( ( rule__AliasAnnotation__Group_4__0 )* )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4068:1: ( ( rule__AliasAnnotation__Group_4__0 )* )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4069:1: ( rule__AliasAnnotation__Group_4__0 )*
            {
             before(grammarAccess.getAliasAnnotationAccess().getGroup_4()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4070:1: ( rule__AliasAnnotation__Group_4__0 )*
            loop30:
            do {
                int alt30=2;
                int LA30_0 = input.LA(1);

                if ( (LA30_0==13) ) {
                    alt30=1;
                }


                switch (alt30) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4070:2: rule__AliasAnnotation__Group_4__0
            	    {
            	    pushFollow(FOLLOW_rule__AliasAnnotation__Group_4__0_in_rule__AliasAnnotation__Group__4__Impl8376);
            	    rule__AliasAnnotation__Group_4__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop30;
                }
            } while (true);

             after(grammarAccess.getAliasAnnotationAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group__4__Impl"


    // $ANTLR start "rule__AliasAnnotation__Group__5"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4080:1: rule__AliasAnnotation__Group__5 : rule__AliasAnnotation__Group__5__Impl rule__AliasAnnotation__Group__6 ;
    public final void rule__AliasAnnotation__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4084:1: ( rule__AliasAnnotation__Group__5__Impl rule__AliasAnnotation__Group__6 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4085:2: rule__AliasAnnotation__Group__5__Impl rule__AliasAnnotation__Group__6
            {
            pushFollow(FOLLOW_rule__AliasAnnotation__Group__5__Impl_in_rule__AliasAnnotation__Group__58407);
            rule__AliasAnnotation__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__AliasAnnotation__Group__6_in_rule__AliasAnnotation__Group__58410);
            rule__AliasAnnotation__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group__5"


    // $ANTLR start "rule__AliasAnnotation__Group__5__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4092:1: rule__AliasAnnotation__Group__5__Impl : ( ']' ) ;
    public final void rule__AliasAnnotation__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4096:1: ( ( ']' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4097:1: ( ']' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4097:1: ( ']' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4098:1: ']'
            {
             before(grammarAccess.getAliasAnnotationAccess().getRightSquareBracketKeyword_5()); 
            match(input,44,FOLLOW_44_in_rule__AliasAnnotation__Group__5__Impl8438); 
             after(grammarAccess.getAliasAnnotationAccess().getRightSquareBracketKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group__5__Impl"


    // $ANTLR start "rule__AliasAnnotation__Group__6"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4111:1: rule__AliasAnnotation__Group__6 : rule__AliasAnnotation__Group__6__Impl ;
    public final void rule__AliasAnnotation__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4115:1: ( rule__AliasAnnotation__Group__6__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4116:2: rule__AliasAnnotation__Group__6__Impl
            {
            pushFollow(FOLLOW_rule__AliasAnnotation__Group__6__Impl_in_rule__AliasAnnotation__Group__68469);
            rule__AliasAnnotation__Group__6__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group__6"


    // $ANTLR start "rule__AliasAnnotation__Group__6__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4122:1: rule__AliasAnnotation__Group__6__Impl : ( ')' ) ;
    public final void rule__AliasAnnotation__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4126:1: ( ( ')' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4127:1: ( ')' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4127:1: ( ')' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4128:1: ')'
            {
             before(grammarAccess.getAliasAnnotationAccess().getRightParenthesisKeyword_6()); 
            match(input,39,FOLLOW_39_in_rule__AliasAnnotation__Group__6__Impl8497); 
             after(grammarAccess.getAliasAnnotationAccess().getRightParenthesisKeyword_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group__6__Impl"


    // $ANTLR start "rule__AliasAnnotation__Group_4__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4155:1: rule__AliasAnnotation__Group_4__0 : rule__AliasAnnotation__Group_4__0__Impl rule__AliasAnnotation__Group_4__1 ;
    public final void rule__AliasAnnotation__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4159:1: ( rule__AliasAnnotation__Group_4__0__Impl rule__AliasAnnotation__Group_4__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4160:2: rule__AliasAnnotation__Group_4__0__Impl rule__AliasAnnotation__Group_4__1
            {
            pushFollow(FOLLOW_rule__AliasAnnotation__Group_4__0__Impl_in_rule__AliasAnnotation__Group_4__08542);
            rule__AliasAnnotation__Group_4__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__AliasAnnotation__Group_4__1_in_rule__AliasAnnotation__Group_4__08545);
            rule__AliasAnnotation__Group_4__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group_4__0"


    // $ANTLR start "rule__AliasAnnotation__Group_4__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4167:1: rule__AliasAnnotation__Group_4__0__Impl : ( ',' ) ;
    public final void rule__AliasAnnotation__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4171:1: ( ( ',' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4172:1: ( ',' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4172:1: ( ',' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4173:1: ','
            {
             before(grammarAccess.getAliasAnnotationAccess().getCommaKeyword_4_0()); 
            match(input,13,FOLLOW_13_in_rule__AliasAnnotation__Group_4__0__Impl8573); 
             after(grammarAccess.getAliasAnnotationAccess().getCommaKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group_4__0__Impl"


    // $ANTLR start "rule__AliasAnnotation__Group_4__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4186:1: rule__AliasAnnotation__Group_4__1 : rule__AliasAnnotation__Group_4__1__Impl ;
    public final void rule__AliasAnnotation__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4190:1: ( rule__AliasAnnotation__Group_4__1__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4191:2: rule__AliasAnnotation__Group_4__1__Impl
            {
            pushFollow(FOLLOW_rule__AliasAnnotation__Group_4__1__Impl_in_rule__AliasAnnotation__Group_4__18604);
            rule__AliasAnnotation__Group_4__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group_4__1"


    // $ANTLR start "rule__AliasAnnotation__Group_4__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4197:1: rule__AliasAnnotation__Group_4__1__Impl : ( ( rule__AliasAnnotation__ElementAssignment_4_1 ) ) ;
    public final void rule__AliasAnnotation__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4201:1: ( ( ( rule__AliasAnnotation__ElementAssignment_4_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4202:1: ( ( rule__AliasAnnotation__ElementAssignment_4_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4202:1: ( ( rule__AliasAnnotation__ElementAssignment_4_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4203:1: ( rule__AliasAnnotation__ElementAssignment_4_1 )
            {
             before(grammarAccess.getAliasAnnotationAccess().getElementAssignment_4_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4204:1: ( rule__AliasAnnotation__ElementAssignment_4_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4204:2: rule__AliasAnnotation__ElementAssignment_4_1
            {
            pushFollow(FOLLOW_rule__AliasAnnotation__ElementAssignment_4_1_in_rule__AliasAnnotation__Group_4__1__Impl8631);
            rule__AliasAnnotation__ElementAssignment_4_1();

            state._fsp--;


            }

             after(grammarAccess.getAliasAnnotationAccess().getElementAssignment_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__Group_4__1__Impl"


    // $ANTLR start "rule__OrderAnnotation__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4218:1: rule__OrderAnnotation__Group__0 : rule__OrderAnnotation__Group__0__Impl rule__OrderAnnotation__Group__1 ;
    public final void rule__OrderAnnotation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4222:1: ( rule__OrderAnnotation__Group__0__Impl rule__OrderAnnotation__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4223:2: rule__OrderAnnotation__Group__0__Impl rule__OrderAnnotation__Group__1
            {
            pushFollow(FOLLOW_rule__OrderAnnotation__Group__0__Impl_in_rule__OrderAnnotation__Group__08665);
            rule__OrderAnnotation__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__OrderAnnotation__Group__1_in_rule__OrderAnnotation__Group__08668);
            rule__OrderAnnotation__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__OrderAnnotation__Group__0"


    // $ANTLR start "rule__OrderAnnotation__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4230:1: rule__OrderAnnotation__Group__0__Impl : ( '@order' ) ;
    public final void rule__OrderAnnotation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4234:1: ( ( '@order' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4235:1: ( '@order' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4235:1: ( '@order' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4236:1: '@order'
            {
             before(grammarAccess.getOrderAnnotationAccess().getOrderKeyword_0()); 
            match(input,45,FOLLOW_45_in_rule__OrderAnnotation__Group__0__Impl8696); 
             after(grammarAccess.getOrderAnnotationAccess().getOrderKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__OrderAnnotation__Group__0__Impl"


    // $ANTLR start "rule__OrderAnnotation__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4249:1: rule__OrderAnnotation__Group__1 : rule__OrderAnnotation__Group__1__Impl rule__OrderAnnotation__Group__2 ;
    public final void rule__OrderAnnotation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4253:1: ( rule__OrderAnnotation__Group__1__Impl rule__OrderAnnotation__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4254:2: rule__OrderAnnotation__Group__1__Impl rule__OrderAnnotation__Group__2
            {
            pushFollow(FOLLOW_rule__OrderAnnotation__Group__1__Impl_in_rule__OrderAnnotation__Group__18727);
            rule__OrderAnnotation__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__OrderAnnotation__Group__2_in_rule__OrderAnnotation__Group__18730);
            rule__OrderAnnotation__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__OrderAnnotation__Group__1"


    // $ANTLR start "rule__OrderAnnotation__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4261:1: rule__OrderAnnotation__Group__1__Impl : ( '(' ) ;
    public final void rule__OrderAnnotation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4265:1: ( ( '(' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4266:1: ( '(' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4266:1: ( '(' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4267:1: '('
            {
             before(grammarAccess.getOrderAnnotationAccess().getLeftParenthesisKeyword_1()); 
            match(input,38,FOLLOW_38_in_rule__OrderAnnotation__Group__1__Impl8758); 
             after(grammarAccess.getOrderAnnotationAccess().getLeftParenthesisKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__OrderAnnotation__Group__1__Impl"


    // $ANTLR start "rule__OrderAnnotation__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4280:1: rule__OrderAnnotation__Group__2 : rule__OrderAnnotation__Group__2__Impl rule__OrderAnnotation__Group__3 ;
    public final void rule__OrderAnnotation__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4284:1: ( rule__OrderAnnotation__Group__2__Impl rule__OrderAnnotation__Group__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4285:2: rule__OrderAnnotation__Group__2__Impl rule__OrderAnnotation__Group__3
            {
            pushFollow(FOLLOW_rule__OrderAnnotation__Group__2__Impl_in_rule__OrderAnnotation__Group__28789);
            rule__OrderAnnotation__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__OrderAnnotation__Group__3_in_rule__OrderAnnotation__Group__28792);
            rule__OrderAnnotation__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__OrderAnnotation__Group__2"


    // $ANTLR start "rule__OrderAnnotation__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4292:1: rule__OrderAnnotation__Group__2__Impl : ( ( rule__OrderAnnotation__OrderAssignment_2 ) ) ;
    public final void rule__OrderAnnotation__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4296:1: ( ( ( rule__OrderAnnotation__OrderAssignment_2 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4297:1: ( ( rule__OrderAnnotation__OrderAssignment_2 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4297:1: ( ( rule__OrderAnnotation__OrderAssignment_2 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4298:1: ( rule__OrderAnnotation__OrderAssignment_2 )
            {
             before(grammarAccess.getOrderAnnotationAccess().getOrderAssignment_2()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4299:1: ( rule__OrderAnnotation__OrderAssignment_2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4299:2: rule__OrderAnnotation__OrderAssignment_2
            {
            pushFollow(FOLLOW_rule__OrderAnnotation__OrderAssignment_2_in_rule__OrderAnnotation__Group__2__Impl8819);
            rule__OrderAnnotation__OrderAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getOrderAnnotationAccess().getOrderAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__OrderAnnotation__Group__2__Impl"


    // $ANTLR start "rule__OrderAnnotation__Group__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4309:1: rule__OrderAnnotation__Group__3 : rule__OrderAnnotation__Group__3__Impl ;
    public final void rule__OrderAnnotation__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4313:1: ( rule__OrderAnnotation__Group__3__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4314:2: rule__OrderAnnotation__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__OrderAnnotation__Group__3__Impl_in_rule__OrderAnnotation__Group__38849);
            rule__OrderAnnotation__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__OrderAnnotation__Group__3"


    // $ANTLR start "rule__OrderAnnotation__Group__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4320:1: rule__OrderAnnotation__Group__3__Impl : ( ')' ) ;
    public final void rule__OrderAnnotation__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4324:1: ( ( ')' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4325:1: ( ')' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4325:1: ( ')' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4326:1: ')'
            {
             before(grammarAccess.getOrderAnnotationAccess().getRightParenthesisKeyword_3()); 
            match(input,39,FOLLOW_39_in_rule__OrderAnnotation__Group__3__Impl8877); 
             after(grammarAccess.getOrderAnnotationAccess().getRightParenthesisKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__OrderAnnotation__Group__3__Impl"


    // $ANTLR start "rule__NamespaceAnnotation__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4347:1: rule__NamespaceAnnotation__Group__0 : rule__NamespaceAnnotation__Group__0__Impl rule__NamespaceAnnotation__Group__1 ;
    public final void rule__NamespaceAnnotation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4351:1: ( rule__NamespaceAnnotation__Group__0__Impl rule__NamespaceAnnotation__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4352:2: rule__NamespaceAnnotation__Group__0__Impl rule__NamespaceAnnotation__Group__1
            {
            pushFollow(FOLLOW_rule__NamespaceAnnotation__Group__0__Impl_in_rule__NamespaceAnnotation__Group__08916);
            rule__NamespaceAnnotation__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__NamespaceAnnotation__Group__1_in_rule__NamespaceAnnotation__Group__08919);
            rule__NamespaceAnnotation__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NamespaceAnnotation__Group__0"


    // $ANTLR start "rule__NamespaceAnnotation__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4359:1: rule__NamespaceAnnotation__Group__0__Impl : ( '@namespace' ) ;
    public final void rule__NamespaceAnnotation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4363:1: ( ( '@namespace' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4364:1: ( '@namespace' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4364:1: ( '@namespace' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4365:1: '@namespace'
            {
             before(grammarAccess.getNamespaceAnnotationAccess().getNamespaceKeyword_0()); 
            match(input,46,FOLLOW_46_in_rule__NamespaceAnnotation__Group__0__Impl8947); 
             after(grammarAccess.getNamespaceAnnotationAccess().getNamespaceKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NamespaceAnnotation__Group__0__Impl"


    // $ANTLR start "rule__NamespaceAnnotation__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4378:1: rule__NamespaceAnnotation__Group__1 : rule__NamespaceAnnotation__Group__1__Impl rule__NamespaceAnnotation__Group__2 ;
    public final void rule__NamespaceAnnotation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4382:1: ( rule__NamespaceAnnotation__Group__1__Impl rule__NamespaceAnnotation__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4383:2: rule__NamespaceAnnotation__Group__1__Impl rule__NamespaceAnnotation__Group__2
            {
            pushFollow(FOLLOW_rule__NamespaceAnnotation__Group__1__Impl_in_rule__NamespaceAnnotation__Group__18978);
            rule__NamespaceAnnotation__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__NamespaceAnnotation__Group__2_in_rule__NamespaceAnnotation__Group__18981);
            rule__NamespaceAnnotation__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NamespaceAnnotation__Group__1"


    // $ANTLR start "rule__NamespaceAnnotation__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4390:1: rule__NamespaceAnnotation__Group__1__Impl : ( '(' ) ;
    public final void rule__NamespaceAnnotation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4394:1: ( ( '(' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4395:1: ( '(' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4395:1: ( '(' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4396:1: '('
            {
             before(grammarAccess.getNamespaceAnnotationAccess().getLeftParenthesisKeyword_1()); 
            match(input,38,FOLLOW_38_in_rule__NamespaceAnnotation__Group__1__Impl9009); 
             after(grammarAccess.getNamespaceAnnotationAccess().getLeftParenthesisKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NamespaceAnnotation__Group__1__Impl"


    // $ANTLR start "rule__NamespaceAnnotation__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4409:1: rule__NamespaceAnnotation__Group__2 : rule__NamespaceAnnotation__Group__2__Impl rule__NamespaceAnnotation__Group__3 ;
    public final void rule__NamespaceAnnotation__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4413:1: ( rule__NamespaceAnnotation__Group__2__Impl rule__NamespaceAnnotation__Group__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4414:2: rule__NamespaceAnnotation__Group__2__Impl rule__NamespaceAnnotation__Group__3
            {
            pushFollow(FOLLOW_rule__NamespaceAnnotation__Group__2__Impl_in_rule__NamespaceAnnotation__Group__29040);
            rule__NamespaceAnnotation__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__NamespaceAnnotation__Group__3_in_rule__NamespaceAnnotation__Group__29043);
            rule__NamespaceAnnotation__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NamespaceAnnotation__Group__2"


    // $ANTLR start "rule__NamespaceAnnotation__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4421:1: rule__NamespaceAnnotation__Group__2__Impl : ( ( rule__NamespaceAnnotation__PathAssignment_2 ) ) ;
    public final void rule__NamespaceAnnotation__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4425:1: ( ( ( rule__NamespaceAnnotation__PathAssignment_2 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4426:1: ( ( rule__NamespaceAnnotation__PathAssignment_2 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4426:1: ( ( rule__NamespaceAnnotation__PathAssignment_2 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4427:1: ( rule__NamespaceAnnotation__PathAssignment_2 )
            {
             before(grammarAccess.getNamespaceAnnotationAccess().getPathAssignment_2()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4428:1: ( rule__NamespaceAnnotation__PathAssignment_2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4428:2: rule__NamespaceAnnotation__PathAssignment_2
            {
            pushFollow(FOLLOW_rule__NamespaceAnnotation__PathAssignment_2_in_rule__NamespaceAnnotation__Group__2__Impl9070);
            rule__NamespaceAnnotation__PathAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getNamespaceAnnotationAccess().getPathAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NamespaceAnnotation__Group__2__Impl"


    // $ANTLR start "rule__NamespaceAnnotation__Group__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4438:1: rule__NamespaceAnnotation__Group__3 : rule__NamespaceAnnotation__Group__3__Impl ;
    public final void rule__NamespaceAnnotation__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4442:1: ( rule__NamespaceAnnotation__Group__3__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4443:2: rule__NamespaceAnnotation__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__NamespaceAnnotation__Group__3__Impl_in_rule__NamespaceAnnotation__Group__39100);
            rule__NamespaceAnnotation__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NamespaceAnnotation__Group__3"


    // $ANTLR start "rule__NamespaceAnnotation__Group__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4449:1: rule__NamespaceAnnotation__Group__3__Impl : ( ')' ) ;
    public final void rule__NamespaceAnnotation__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4453:1: ( ( ')' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4454:1: ( ')' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4454:1: ( ')' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4455:1: ')'
            {
             before(grammarAccess.getNamespaceAnnotationAccess().getRightParenthesisKeyword_3()); 
            match(input,39,FOLLOW_39_in_rule__NamespaceAnnotation__Group__3__Impl9128); 
             after(grammarAccess.getNamespaceAnnotationAccess().getRightParenthesisKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NamespaceAnnotation__Group__3__Impl"


    // $ANTLR start "rule__JavaclassAnnotation__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4476:1: rule__JavaclassAnnotation__Group__0 : rule__JavaclassAnnotation__Group__0__Impl rule__JavaclassAnnotation__Group__1 ;
    public final void rule__JavaclassAnnotation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4480:1: ( rule__JavaclassAnnotation__Group__0__Impl rule__JavaclassAnnotation__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4481:2: rule__JavaclassAnnotation__Group__0__Impl rule__JavaclassAnnotation__Group__1
            {
            pushFollow(FOLLOW_rule__JavaclassAnnotation__Group__0__Impl_in_rule__JavaclassAnnotation__Group__09167);
            rule__JavaclassAnnotation__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__JavaclassAnnotation__Group__1_in_rule__JavaclassAnnotation__Group__09170);
            rule__JavaclassAnnotation__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__JavaclassAnnotation__Group__0"


    // $ANTLR start "rule__JavaclassAnnotation__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4488:1: rule__JavaclassAnnotation__Group__0__Impl : ( '@java_class' ) ;
    public final void rule__JavaclassAnnotation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4492:1: ( ( '@java_class' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4493:1: ( '@java_class' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4493:1: ( '@java_class' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4494:1: '@java_class'
            {
             before(grammarAccess.getJavaclassAnnotationAccess().getJava_classKeyword_0()); 
            match(input,47,FOLLOW_47_in_rule__JavaclassAnnotation__Group__0__Impl9198); 
             after(grammarAccess.getJavaclassAnnotationAccess().getJava_classKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__JavaclassAnnotation__Group__0__Impl"


    // $ANTLR start "rule__JavaclassAnnotation__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4507:1: rule__JavaclassAnnotation__Group__1 : rule__JavaclassAnnotation__Group__1__Impl rule__JavaclassAnnotation__Group__2 ;
    public final void rule__JavaclassAnnotation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4511:1: ( rule__JavaclassAnnotation__Group__1__Impl rule__JavaclassAnnotation__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4512:2: rule__JavaclassAnnotation__Group__1__Impl rule__JavaclassAnnotation__Group__2
            {
            pushFollow(FOLLOW_rule__JavaclassAnnotation__Group__1__Impl_in_rule__JavaclassAnnotation__Group__19229);
            rule__JavaclassAnnotation__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__JavaclassAnnotation__Group__2_in_rule__JavaclassAnnotation__Group__19232);
            rule__JavaclassAnnotation__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__JavaclassAnnotation__Group__1"


    // $ANTLR start "rule__JavaclassAnnotation__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4519:1: rule__JavaclassAnnotation__Group__1__Impl : ( '(' ) ;
    public final void rule__JavaclassAnnotation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4523:1: ( ( '(' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4524:1: ( '(' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4524:1: ( '(' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4525:1: '('
            {
             before(grammarAccess.getJavaclassAnnotationAccess().getLeftParenthesisKeyword_1()); 
            match(input,38,FOLLOW_38_in_rule__JavaclassAnnotation__Group__1__Impl9260); 
             after(grammarAccess.getJavaclassAnnotationAccess().getLeftParenthesisKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__JavaclassAnnotation__Group__1__Impl"


    // $ANTLR start "rule__JavaclassAnnotation__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4538:1: rule__JavaclassAnnotation__Group__2 : rule__JavaclassAnnotation__Group__2__Impl rule__JavaclassAnnotation__Group__3 ;
    public final void rule__JavaclassAnnotation__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4542:1: ( rule__JavaclassAnnotation__Group__2__Impl rule__JavaclassAnnotation__Group__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4543:2: rule__JavaclassAnnotation__Group__2__Impl rule__JavaclassAnnotation__Group__3
            {
            pushFollow(FOLLOW_rule__JavaclassAnnotation__Group__2__Impl_in_rule__JavaclassAnnotation__Group__29291);
            rule__JavaclassAnnotation__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__JavaclassAnnotation__Group__3_in_rule__JavaclassAnnotation__Group__29294);
            rule__JavaclassAnnotation__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__JavaclassAnnotation__Group__2"


    // $ANTLR start "rule__JavaclassAnnotation__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4550:1: rule__JavaclassAnnotation__Group__2__Impl : ( ( rule__JavaclassAnnotation__ClasspathAssignment_2 ) ) ;
    public final void rule__JavaclassAnnotation__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4554:1: ( ( ( rule__JavaclassAnnotation__ClasspathAssignment_2 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4555:1: ( ( rule__JavaclassAnnotation__ClasspathAssignment_2 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4555:1: ( ( rule__JavaclassAnnotation__ClasspathAssignment_2 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4556:1: ( rule__JavaclassAnnotation__ClasspathAssignment_2 )
            {
             before(grammarAccess.getJavaclassAnnotationAccess().getClasspathAssignment_2()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4557:1: ( rule__JavaclassAnnotation__ClasspathAssignment_2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4557:2: rule__JavaclassAnnotation__ClasspathAssignment_2
            {
            pushFollow(FOLLOW_rule__JavaclassAnnotation__ClasspathAssignment_2_in_rule__JavaclassAnnotation__Group__2__Impl9321);
            rule__JavaclassAnnotation__ClasspathAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getJavaclassAnnotationAccess().getClasspathAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__JavaclassAnnotation__Group__2__Impl"


    // $ANTLR start "rule__JavaclassAnnotation__Group__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4567:1: rule__JavaclassAnnotation__Group__3 : rule__JavaclassAnnotation__Group__3__Impl ;
    public final void rule__JavaclassAnnotation__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4571:1: ( rule__JavaclassAnnotation__Group__3__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4572:2: rule__JavaclassAnnotation__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__JavaclassAnnotation__Group__3__Impl_in_rule__JavaclassAnnotation__Group__39351);
            rule__JavaclassAnnotation__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__JavaclassAnnotation__Group__3"


    // $ANTLR start "rule__JavaclassAnnotation__Group__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4578:1: rule__JavaclassAnnotation__Group__3__Impl : ( ')' ) ;
    public final void rule__JavaclassAnnotation__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4582:1: ( ( ')' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4583:1: ( ')' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4583:1: ( ')' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4584:1: ')'
            {
             before(grammarAccess.getJavaclassAnnotationAccess().getRightParenthesisKeyword_3()); 
            match(input,39,FOLLOW_39_in_rule__JavaclassAnnotation__Group__3__Impl9379); 
             after(grammarAccess.getJavaclassAnnotationAccess().getRightParenthesisKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__JavaclassAnnotation__Group__3__Impl"


    // $ANTLR start "rule__ArrayType__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4605:1: rule__ArrayType__Group__0 : rule__ArrayType__Group__0__Impl rule__ArrayType__Group__1 ;
    public final void rule__ArrayType__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4609:1: ( rule__ArrayType__Group__0__Impl rule__ArrayType__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4610:2: rule__ArrayType__Group__0__Impl rule__ArrayType__Group__1
            {
            pushFollow(FOLLOW_rule__ArrayType__Group__0__Impl_in_rule__ArrayType__Group__09418);
            rule__ArrayType__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ArrayType__Group__1_in_rule__ArrayType__Group__09421);
            rule__ArrayType__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group__0"


    // $ANTLR start "rule__ArrayType__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4617:1: rule__ArrayType__Group__0__Impl : ( 'array' ) ;
    public final void rule__ArrayType__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4621:1: ( ( 'array' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4622:1: ( 'array' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4622:1: ( 'array' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4623:1: 'array'
            {
             before(grammarAccess.getArrayTypeAccess().getArrayKeyword_0()); 
            match(input,48,FOLLOW_48_in_rule__ArrayType__Group__0__Impl9449); 
             after(grammarAccess.getArrayTypeAccess().getArrayKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group__0__Impl"


    // $ANTLR start "rule__ArrayType__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4636:1: rule__ArrayType__Group__1 : rule__ArrayType__Group__1__Impl rule__ArrayType__Group__2 ;
    public final void rule__ArrayType__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4640:1: ( rule__ArrayType__Group__1__Impl rule__ArrayType__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4641:2: rule__ArrayType__Group__1__Impl rule__ArrayType__Group__2
            {
            pushFollow(FOLLOW_rule__ArrayType__Group__1__Impl_in_rule__ArrayType__Group__19480);
            rule__ArrayType__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ArrayType__Group__2_in_rule__ArrayType__Group__19483);
            rule__ArrayType__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group__1"


    // $ANTLR start "rule__ArrayType__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4648:1: rule__ArrayType__Group__1__Impl : ( '<' ) ;
    public final void rule__ArrayType__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4652:1: ( ( '<' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4653:1: ( '<' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4653:1: ( '<' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4654:1: '<'
            {
             before(grammarAccess.getArrayTypeAccess().getLessThanSignKeyword_1()); 
            match(input,49,FOLLOW_49_in_rule__ArrayType__Group__1__Impl9511); 
             after(grammarAccess.getArrayTypeAccess().getLessThanSignKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group__1__Impl"


    // $ANTLR start "rule__ArrayType__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4667:1: rule__ArrayType__Group__2 : rule__ArrayType__Group__2__Impl rule__ArrayType__Group__3 ;
    public final void rule__ArrayType__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4671:1: ( rule__ArrayType__Group__2__Impl rule__ArrayType__Group__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4672:2: rule__ArrayType__Group__2__Impl rule__ArrayType__Group__3
            {
            pushFollow(FOLLOW_rule__ArrayType__Group__2__Impl_in_rule__ArrayType__Group__29542);
            rule__ArrayType__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ArrayType__Group__3_in_rule__ArrayType__Group__29545);
            rule__ArrayType__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group__2"


    // $ANTLR start "rule__ArrayType__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4679:1: rule__ArrayType__Group__2__Impl : ( ( rule__ArrayType__TypeAssignment_2 ) ) ;
    public final void rule__ArrayType__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4683:1: ( ( ( rule__ArrayType__TypeAssignment_2 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4684:1: ( ( rule__ArrayType__TypeAssignment_2 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4684:1: ( ( rule__ArrayType__TypeAssignment_2 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4685:1: ( rule__ArrayType__TypeAssignment_2 )
            {
             before(grammarAccess.getArrayTypeAccess().getTypeAssignment_2()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4686:1: ( rule__ArrayType__TypeAssignment_2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4686:2: rule__ArrayType__TypeAssignment_2
            {
            pushFollow(FOLLOW_rule__ArrayType__TypeAssignment_2_in_rule__ArrayType__Group__2__Impl9572);
            rule__ArrayType__TypeAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getArrayTypeAccess().getTypeAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group__2__Impl"


    // $ANTLR start "rule__ArrayType__Group__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4696:1: rule__ArrayType__Group__3 : rule__ArrayType__Group__3__Impl ;
    public final void rule__ArrayType__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4700:1: ( rule__ArrayType__Group__3__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4701:2: rule__ArrayType__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__ArrayType__Group__3__Impl_in_rule__ArrayType__Group__39602);
            rule__ArrayType__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group__3"


    // $ANTLR start "rule__ArrayType__Group__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4707:1: rule__ArrayType__Group__3__Impl : ( '>' ) ;
    public final void rule__ArrayType__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4711:1: ( ( '>' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4712:1: ( '>' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4712:1: ( '>' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4713:1: '>'
            {
             before(grammarAccess.getArrayTypeAccess().getGreaterThanSignKeyword_3()); 
            match(input,50,FOLLOW_50_in_rule__ArrayType__Group__3__Impl9630); 
             after(grammarAccess.getArrayTypeAccess().getGreaterThanSignKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group__3__Impl"


    // $ANTLR start "rule__MapType__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4734:1: rule__MapType__Group__0 : rule__MapType__Group__0__Impl rule__MapType__Group__1 ;
    public final void rule__MapType__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4738:1: ( rule__MapType__Group__0__Impl rule__MapType__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4739:2: rule__MapType__Group__0__Impl rule__MapType__Group__1
            {
            pushFollow(FOLLOW_rule__MapType__Group__0__Impl_in_rule__MapType__Group__09669);
            rule__MapType__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MapType__Group__1_in_rule__MapType__Group__09672);
            rule__MapType__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__0"


    // $ANTLR start "rule__MapType__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4746:1: rule__MapType__Group__0__Impl : ( 'map' ) ;
    public final void rule__MapType__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4750:1: ( ( 'map' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4751:1: ( 'map' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4751:1: ( 'map' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4752:1: 'map'
            {
             before(grammarAccess.getMapTypeAccess().getMapKeyword_0()); 
            match(input,51,FOLLOW_51_in_rule__MapType__Group__0__Impl9700); 
             after(grammarAccess.getMapTypeAccess().getMapKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__0__Impl"


    // $ANTLR start "rule__MapType__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4765:1: rule__MapType__Group__1 : rule__MapType__Group__1__Impl rule__MapType__Group__2 ;
    public final void rule__MapType__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4769:1: ( rule__MapType__Group__1__Impl rule__MapType__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4770:2: rule__MapType__Group__1__Impl rule__MapType__Group__2
            {
            pushFollow(FOLLOW_rule__MapType__Group__1__Impl_in_rule__MapType__Group__19731);
            rule__MapType__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MapType__Group__2_in_rule__MapType__Group__19734);
            rule__MapType__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__1"


    // $ANTLR start "rule__MapType__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4777:1: rule__MapType__Group__1__Impl : ( '<' ) ;
    public final void rule__MapType__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4781:1: ( ( '<' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4782:1: ( '<' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4782:1: ( '<' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4783:1: '<'
            {
             before(grammarAccess.getMapTypeAccess().getLessThanSignKeyword_1()); 
            match(input,49,FOLLOW_49_in_rule__MapType__Group__1__Impl9762); 
             after(grammarAccess.getMapTypeAccess().getLessThanSignKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__1__Impl"


    // $ANTLR start "rule__MapType__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4796:1: rule__MapType__Group__2 : rule__MapType__Group__2__Impl rule__MapType__Group__3 ;
    public final void rule__MapType__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4800:1: ( rule__MapType__Group__2__Impl rule__MapType__Group__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4801:2: rule__MapType__Group__2__Impl rule__MapType__Group__3
            {
            pushFollow(FOLLOW_rule__MapType__Group__2__Impl_in_rule__MapType__Group__29793);
            rule__MapType__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MapType__Group__3_in_rule__MapType__Group__29796);
            rule__MapType__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__2"


    // $ANTLR start "rule__MapType__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4808:1: rule__MapType__Group__2__Impl : ( ( rule__MapType__TypeAssignment_2 ) ) ;
    public final void rule__MapType__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4812:1: ( ( ( rule__MapType__TypeAssignment_2 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4813:1: ( ( rule__MapType__TypeAssignment_2 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4813:1: ( ( rule__MapType__TypeAssignment_2 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4814:1: ( rule__MapType__TypeAssignment_2 )
            {
             before(grammarAccess.getMapTypeAccess().getTypeAssignment_2()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4815:1: ( rule__MapType__TypeAssignment_2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4815:2: rule__MapType__TypeAssignment_2
            {
            pushFollow(FOLLOW_rule__MapType__TypeAssignment_2_in_rule__MapType__Group__2__Impl9823);
            rule__MapType__TypeAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getMapTypeAccess().getTypeAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__2__Impl"


    // $ANTLR start "rule__MapType__Group__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4825:1: rule__MapType__Group__3 : rule__MapType__Group__3__Impl ;
    public final void rule__MapType__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4829:1: ( rule__MapType__Group__3__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4830:2: rule__MapType__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__MapType__Group__3__Impl_in_rule__MapType__Group__39853);
            rule__MapType__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__3"


    // $ANTLR start "rule__MapType__Group__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4836:1: rule__MapType__Group__3__Impl : ( '>' ) ;
    public final void rule__MapType__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4840:1: ( ( '>' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4841:1: ( '>' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4841:1: ( '>' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4842:1: '>'
            {
             before(grammarAccess.getMapTypeAccess().getGreaterThanSignKeyword_3()); 
            match(input,50,FOLLOW_50_in_rule__MapType__Group__3__Impl9881); 
             after(grammarAccess.getMapTypeAccess().getGreaterThanSignKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__Group__3__Impl"


    // $ANTLR start "rule__UnionType__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4863:1: rule__UnionType__Group__0 : rule__UnionType__Group__0__Impl rule__UnionType__Group__1 ;
    public final void rule__UnionType__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4867:1: ( rule__UnionType__Group__0__Impl rule__UnionType__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4868:2: rule__UnionType__Group__0__Impl rule__UnionType__Group__1
            {
            pushFollow(FOLLOW_rule__UnionType__Group__0__Impl_in_rule__UnionType__Group__09920);
            rule__UnionType__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UnionType__Group__1_in_rule__UnionType__Group__09923);
            rule__UnionType__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group__0"


    // $ANTLR start "rule__UnionType__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4875:1: rule__UnionType__Group__0__Impl : ( 'union' ) ;
    public final void rule__UnionType__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4879:1: ( ( 'union' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4880:1: ( 'union' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4880:1: ( 'union' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4881:1: 'union'
            {
             before(grammarAccess.getUnionTypeAccess().getUnionKeyword_0()); 
            match(input,52,FOLLOW_52_in_rule__UnionType__Group__0__Impl9951); 
             after(grammarAccess.getUnionTypeAccess().getUnionKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group__0__Impl"


    // $ANTLR start "rule__UnionType__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4894:1: rule__UnionType__Group__1 : rule__UnionType__Group__1__Impl rule__UnionType__Group__2 ;
    public final void rule__UnionType__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4898:1: ( rule__UnionType__Group__1__Impl rule__UnionType__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4899:2: rule__UnionType__Group__1__Impl rule__UnionType__Group__2
            {
            pushFollow(FOLLOW_rule__UnionType__Group__1__Impl_in_rule__UnionType__Group__19982);
            rule__UnionType__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UnionType__Group__2_in_rule__UnionType__Group__19985);
            rule__UnionType__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group__1"


    // $ANTLR start "rule__UnionType__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4906:1: rule__UnionType__Group__1__Impl : ( '{' ) ;
    public final void rule__UnionType__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4910:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4911:1: ( '{' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4911:1: ( '{' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4912:1: '{'
            {
             before(grammarAccess.getUnionTypeAccess().getLeftCurlyBracketKeyword_1()); 
            match(input,35,FOLLOW_35_in_rule__UnionType__Group__1__Impl10013); 
             after(grammarAccess.getUnionTypeAccess().getLeftCurlyBracketKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group__1__Impl"


    // $ANTLR start "rule__UnionType__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4925:1: rule__UnionType__Group__2 : rule__UnionType__Group__2__Impl rule__UnionType__Group__3 ;
    public final void rule__UnionType__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4929:1: ( rule__UnionType__Group__2__Impl rule__UnionType__Group__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4930:2: rule__UnionType__Group__2__Impl rule__UnionType__Group__3
            {
            pushFollow(FOLLOW_rule__UnionType__Group__2__Impl_in_rule__UnionType__Group__210044);
            rule__UnionType__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UnionType__Group__3_in_rule__UnionType__Group__210047);
            rule__UnionType__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group__2"


    // $ANTLR start "rule__UnionType__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4937:1: rule__UnionType__Group__2__Impl : ( ( rule__UnionType__TypesAssignment_2 ) ) ;
    public final void rule__UnionType__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4941:1: ( ( ( rule__UnionType__TypesAssignment_2 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4942:1: ( ( rule__UnionType__TypesAssignment_2 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4942:1: ( ( rule__UnionType__TypesAssignment_2 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4943:1: ( rule__UnionType__TypesAssignment_2 )
            {
             before(grammarAccess.getUnionTypeAccess().getTypesAssignment_2()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4944:1: ( rule__UnionType__TypesAssignment_2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4944:2: rule__UnionType__TypesAssignment_2
            {
            pushFollow(FOLLOW_rule__UnionType__TypesAssignment_2_in_rule__UnionType__Group__2__Impl10074);
            rule__UnionType__TypesAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getUnionTypeAccess().getTypesAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group__2__Impl"


    // $ANTLR start "rule__UnionType__Group__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4954:1: rule__UnionType__Group__3 : rule__UnionType__Group__3__Impl rule__UnionType__Group__4 ;
    public final void rule__UnionType__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4958:1: ( rule__UnionType__Group__3__Impl rule__UnionType__Group__4 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4959:2: rule__UnionType__Group__3__Impl rule__UnionType__Group__4
            {
            pushFollow(FOLLOW_rule__UnionType__Group__3__Impl_in_rule__UnionType__Group__310104);
            rule__UnionType__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UnionType__Group__4_in_rule__UnionType__Group__310107);
            rule__UnionType__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group__3"


    // $ANTLR start "rule__UnionType__Group__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4966:1: rule__UnionType__Group__3__Impl : ( ( rule__UnionType__Group_3__0 )* ) ;
    public final void rule__UnionType__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4970:1: ( ( ( rule__UnionType__Group_3__0 )* ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4971:1: ( ( rule__UnionType__Group_3__0 )* )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4971:1: ( ( rule__UnionType__Group_3__0 )* )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4972:1: ( rule__UnionType__Group_3__0 )*
            {
             before(grammarAccess.getUnionTypeAccess().getGroup_3()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4973:1: ( rule__UnionType__Group_3__0 )*
            loop31:
            do {
                int alt31=2;
                int LA31_0 = input.LA(1);

                if ( (LA31_0==13) ) {
                    alt31=1;
                }


                switch (alt31) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4973:2: rule__UnionType__Group_3__0
            	    {
            	    pushFollow(FOLLOW_rule__UnionType__Group_3__0_in_rule__UnionType__Group__3__Impl10134);
            	    rule__UnionType__Group_3__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop31;
                }
            } while (true);

             after(grammarAccess.getUnionTypeAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group__3__Impl"


    // $ANTLR start "rule__UnionType__Group__4"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4983:1: rule__UnionType__Group__4 : rule__UnionType__Group__4__Impl rule__UnionType__Group__5 ;
    public final void rule__UnionType__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4987:1: ( rule__UnionType__Group__4__Impl rule__UnionType__Group__5 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4988:2: rule__UnionType__Group__4__Impl rule__UnionType__Group__5
            {
            pushFollow(FOLLOW_rule__UnionType__Group__4__Impl_in_rule__UnionType__Group__410165);
            rule__UnionType__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UnionType__Group__5_in_rule__UnionType__Group__410168);
            rule__UnionType__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group__4"


    // $ANTLR start "rule__UnionType__Group__4__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4995:1: rule__UnionType__Group__4__Impl : ( '}' ) ;
    public final void rule__UnionType__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:4999:1: ( ( '}' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5000:1: ( '}' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5000:1: ( '}' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5001:1: '}'
            {
             before(grammarAccess.getUnionTypeAccess().getRightCurlyBracketKeyword_4()); 
            match(input,36,FOLLOW_36_in_rule__UnionType__Group__4__Impl10196); 
             after(grammarAccess.getUnionTypeAccess().getRightCurlyBracketKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group__4__Impl"


    // $ANTLR start "rule__UnionType__Group__5"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5014:1: rule__UnionType__Group__5 : rule__UnionType__Group__5__Impl rule__UnionType__Group__6 ;
    public final void rule__UnionType__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5018:1: ( rule__UnionType__Group__5__Impl rule__UnionType__Group__6 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5019:2: rule__UnionType__Group__5__Impl rule__UnionType__Group__6
            {
            pushFollow(FOLLOW_rule__UnionType__Group__5__Impl_in_rule__UnionType__Group__510227);
            rule__UnionType__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UnionType__Group__6_in_rule__UnionType__Group__510230);
            rule__UnionType__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group__5"


    // $ANTLR start "rule__UnionType__Group__5__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5026:1: rule__UnionType__Group__5__Impl : ( ( rule__UnionType__AnnotationAssignment_5 )? ) ;
    public final void rule__UnionType__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5030:1: ( ( ( rule__UnionType__AnnotationAssignment_5 )? ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5031:1: ( ( rule__UnionType__AnnotationAssignment_5 )? )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5031:1: ( ( rule__UnionType__AnnotationAssignment_5 )? )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5032:1: ( rule__UnionType__AnnotationAssignment_5 )?
            {
             before(grammarAccess.getUnionTypeAccess().getAnnotationAssignment_5()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5033:1: ( rule__UnionType__AnnotationAssignment_5 )?
            int alt32=2;
            int LA32_0 = input.LA(1);

            if ( (LA32_0==42||(LA32_0>=45 && LA32_0<=47)) ) {
                alt32=1;
            }
            switch (alt32) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5033:2: rule__UnionType__AnnotationAssignment_5
                    {
                    pushFollow(FOLLOW_rule__UnionType__AnnotationAssignment_5_in_rule__UnionType__Group__5__Impl10257);
                    rule__UnionType__AnnotationAssignment_5();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getUnionTypeAccess().getAnnotationAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group__5__Impl"


    // $ANTLR start "rule__UnionType__Group__6"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5043:1: rule__UnionType__Group__6 : rule__UnionType__Group__6__Impl rule__UnionType__Group__7 ;
    public final void rule__UnionType__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5047:1: ( rule__UnionType__Group__6__Impl rule__UnionType__Group__7 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5048:2: rule__UnionType__Group__6__Impl rule__UnionType__Group__7
            {
            pushFollow(FOLLOW_rule__UnionType__Group__6__Impl_in_rule__UnionType__Group__610288);
            rule__UnionType__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UnionType__Group__7_in_rule__UnionType__Group__610291);
            rule__UnionType__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group__6"


    // $ANTLR start "rule__UnionType__Group__6__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5055:1: rule__UnionType__Group__6__Impl : ( ( rule__UnionType__OptionalStringAssignment_6 )? ) ;
    public final void rule__UnionType__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5059:1: ( ( ( rule__UnionType__OptionalStringAssignment_6 )? ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5060:1: ( ( rule__UnionType__OptionalStringAssignment_6 )? )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5060:1: ( ( rule__UnionType__OptionalStringAssignment_6 )? )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5061:1: ( rule__UnionType__OptionalStringAssignment_6 )?
            {
             before(grammarAccess.getUnionTypeAccess().getOptionalStringAssignment_6()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5062:1: ( rule__UnionType__OptionalStringAssignment_6 )?
            int alt33=2;
            int LA33_0 = input.LA(1);

            if ( (LA33_0==RULE_ID) ) {
                alt33=1;
            }
            switch (alt33) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5062:2: rule__UnionType__OptionalStringAssignment_6
                    {
                    pushFollow(FOLLOW_rule__UnionType__OptionalStringAssignment_6_in_rule__UnionType__Group__6__Impl10318);
                    rule__UnionType__OptionalStringAssignment_6();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getUnionTypeAccess().getOptionalStringAssignment_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group__6__Impl"


    // $ANTLR start "rule__UnionType__Group__7"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5072:1: rule__UnionType__Group__7 : rule__UnionType__Group__7__Impl ;
    public final void rule__UnionType__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5076:1: ( rule__UnionType__Group__7__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5077:2: rule__UnionType__Group__7__Impl
            {
            pushFollow(FOLLOW_rule__UnionType__Group__7__Impl_in_rule__UnionType__Group__710349);
            rule__UnionType__Group__7__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group__7"


    // $ANTLR start "rule__UnionType__Group__7__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5083:1: rule__UnionType__Group__7__Impl : ( ruleEndLine ) ;
    public final void rule__UnionType__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5087:1: ( ( ruleEndLine ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5088:1: ( ruleEndLine )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5088:1: ( ruleEndLine )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5089:1: ruleEndLine
            {
             before(grammarAccess.getUnionTypeAccess().getEndLineParserRuleCall_7()); 
            pushFollow(FOLLOW_ruleEndLine_in_rule__UnionType__Group__7__Impl10376);
            ruleEndLine();

            state._fsp--;

             after(grammarAccess.getUnionTypeAccess().getEndLineParserRuleCall_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group__7__Impl"


    // $ANTLR start "rule__UnionType__Group_3__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5116:1: rule__UnionType__Group_3__0 : rule__UnionType__Group_3__0__Impl rule__UnionType__Group_3__1 ;
    public final void rule__UnionType__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5120:1: ( rule__UnionType__Group_3__0__Impl rule__UnionType__Group_3__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5121:2: rule__UnionType__Group_3__0__Impl rule__UnionType__Group_3__1
            {
            pushFollow(FOLLOW_rule__UnionType__Group_3__0__Impl_in_rule__UnionType__Group_3__010421);
            rule__UnionType__Group_3__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__UnionType__Group_3__1_in_rule__UnionType__Group_3__010424);
            rule__UnionType__Group_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group_3__0"


    // $ANTLR start "rule__UnionType__Group_3__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5128:1: rule__UnionType__Group_3__0__Impl : ( ',' ) ;
    public final void rule__UnionType__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5132:1: ( ( ',' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5133:1: ( ',' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5133:1: ( ',' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5134:1: ','
            {
             before(grammarAccess.getUnionTypeAccess().getCommaKeyword_3_0()); 
            match(input,13,FOLLOW_13_in_rule__UnionType__Group_3__0__Impl10452); 
             after(grammarAccess.getUnionTypeAccess().getCommaKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group_3__0__Impl"


    // $ANTLR start "rule__UnionType__Group_3__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5147:1: rule__UnionType__Group_3__1 : rule__UnionType__Group_3__1__Impl ;
    public final void rule__UnionType__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5151:1: ( rule__UnionType__Group_3__1__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5152:2: rule__UnionType__Group_3__1__Impl
            {
            pushFollow(FOLLOW_rule__UnionType__Group_3__1__Impl_in_rule__UnionType__Group_3__110483);
            rule__UnionType__Group_3__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group_3__1"


    // $ANTLR start "rule__UnionType__Group_3__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5158:1: rule__UnionType__Group_3__1__Impl : ( ( rule__UnionType__TypesAssignment_3_1 ) ) ;
    public final void rule__UnionType__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5162:1: ( ( ( rule__UnionType__TypesAssignment_3_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5163:1: ( ( rule__UnionType__TypesAssignment_3_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5163:1: ( ( rule__UnionType__TypesAssignment_3_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5164:1: ( rule__UnionType__TypesAssignment_3_1 )
            {
             before(grammarAccess.getUnionTypeAccess().getTypesAssignment_3_1()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5165:1: ( rule__UnionType__TypesAssignment_3_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5165:2: rule__UnionType__TypesAssignment_3_1
            {
            pushFollow(FOLLOW_rule__UnionType__TypesAssignment_3_1_in_rule__UnionType__Group_3__1__Impl10510);
            rule__UnionType__TypesAssignment_3_1();

            state._fsp--;


            }

             after(grammarAccess.getUnionTypeAccess().getTypesAssignment_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__Group_3__1__Impl"


    // $ANTLR start "rule__AvroIdl__NameSpaceAssignment_0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5182:1: rule__AvroIdl__NameSpaceAssignment_0 : ( ruleNamespaceAnnotation ) ;
    public final void rule__AvroIdl__NameSpaceAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5186:1: ( ( ruleNamespaceAnnotation ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5187:1: ( ruleNamespaceAnnotation )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5187:1: ( ruleNamespaceAnnotation )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5188:1: ruleNamespaceAnnotation
            {
             before(grammarAccess.getAvroIdlAccess().getNameSpaceNamespaceAnnotationParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleNamespaceAnnotation_in_rule__AvroIdl__NameSpaceAssignment_010551);
            ruleNamespaceAnnotation();

            state._fsp--;

             after(grammarAccess.getAvroIdlAccess().getNameSpaceNamespaceAnnotationParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroIdl__NameSpaceAssignment_0"


    // $ANTLR start "rule__AvroIdl__ProtocolAssignment_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5197:1: rule__AvroIdl__ProtocolAssignment_1 : ( ruleProtocol ) ;
    public final void rule__AvroIdl__ProtocolAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5201:1: ( ( ruleProtocol ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5202:1: ( ruleProtocol )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5202:1: ( ruleProtocol )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5203:1: ruleProtocol
            {
             before(grammarAccess.getAvroIdlAccess().getProtocolProtocolParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleProtocol_in_rule__AvroIdl__ProtocolAssignment_110582);
            ruleProtocol();

            state._fsp--;

             after(grammarAccess.getAvroIdlAccess().getProtocolProtocolParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroIdl__ProtocolAssignment_1"


    // $ANTLR start "rule__Protocol__ProtocolNameAssignment_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5212:1: rule__Protocol__ProtocolNameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Protocol__ProtocolNameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5216:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5217:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5217:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5218:1: RULE_ID
            {
             before(grammarAccess.getProtocolAccess().getProtocolNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Protocol__ProtocolNameAssignment_110613); 
             after(grammarAccess.getProtocolAccess().getProtocolNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Protocol__ProtocolNameAssignment_1"


    // $ANTLR start "rule__Protocol__ImportsAssignment_3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5227:1: rule__Protocol__ImportsAssignment_3 : ( ruleImports ) ;
    public final void rule__Protocol__ImportsAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5231:1: ( ( ruleImports ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5232:1: ( ruleImports )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5232:1: ( ruleImports )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5233:1: ruleImports
            {
             before(grammarAccess.getProtocolAccess().getImportsImportsParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleImports_in_rule__Protocol__ImportsAssignment_310644);
            ruleImports();

            state._fsp--;

             after(grammarAccess.getProtocolAccess().getImportsImportsParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Protocol__ImportsAssignment_3"


    // $ANTLR start "rule__Protocol__DefinitionsAssignment_4"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5242:1: rule__Protocol__DefinitionsAssignment_4 : ( ruleDefinitions ) ;
    public final void rule__Protocol__DefinitionsAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5246:1: ( ( ruleDefinitions ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5247:1: ( ruleDefinitions )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5247:1: ( ruleDefinitions )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5248:1: ruleDefinitions
            {
             before(grammarAccess.getProtocolAccess().getDefinitionsDefinitionsParserRuleCall_4_0()); 
            pushFollow(FOLLOW_ruleDefinitions_in_rule__Protocol__DefinitionsAssignment_410675);
            ruleDefinitions();

            state._fsp--;

             after(grammarAccess.getProtocolAccess().getDefinitionsDefinitionsParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Protocol__DefinitionsAssignment_4"


    // $ANTLR start "rule__Error__NameAssignment_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5257:1: rule__Error__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Error__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5261:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5262:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5262:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5263:1: RULE_ID
            {
             before(grammarAccess.getErrorAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Error__NameAssignment_110706); 
             after(grammarAccess.getErrorAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Error__NameAssignment_1"


    // $ANTLR start "rule__Error__FieldsAssignment_3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5272:1: rule__Error__FieldsAssignment_3 : ( ruleField ) ;
    public final void rule__Error__FieldsAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5276:1: ( ( ruleField ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5277:1: ( ruleField )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5277:1: ( ruleField )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5278:1: ruleField
            {
             before(grammarAccess.getErrorAccess().getFieldsFieldParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleField_in_rule__Error__FieldsAssignment_310737);
            ruleField();

            state._fsp--;

             after(grammarAccess.getErrorAccess().getFieldsFieldParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Error__FieldsAssignment_3"


    // $ANTLR start "rule__Record__NameAssignment_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5287:1: rule__Record__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Record__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5291:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5292:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5292:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5293:1: RULE_ID
            {
             before(grammarAccess.getRecordAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Record__NameAssignment_110768); 
             after(grammarAccess.getRecordAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__NameAssignment_1"


    // $ANTLR start "rule__Record__AnnotationAssignment_3_0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5302:1: rule__Record__AnnotationAssignment_3_0 : ( ruleAnnotation ) ;
    public final void rule__Record__AnnotationAssignment_3_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5306:1: ( ( ruleAnnotation ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5307:1: ( ruleAnnotation )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5307:1: ( ruleAnnotation )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5308:1: ruleAnnotation
            {
             before(grammarAccess.getRecordAccess().getAnnotationAnnotationParserRuleCall_3_0_0()); 
            pushFollow(FOLLOW_ruleAnnotation_in_rule__Record__AnnotationAssignment_3_010799);
            ruleAnnotation();

            state._fsp--;

             after(grammarAccess.getRecordAccess().getAnnotationAnnotationParserRuleCall_3_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__AnnotationAssignment_3_0"


    // $ANTLR start "rule__Record__FieldsAssignment_3_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5317:1: rule__Record__FieldsAssignment_3_1 : ( ruleField ) ;
    public final void rule__Record__FieldsAssignment_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5321:1: ( ( ruleField ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5322:1: ( ruleField )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5322:1: ( ruleField )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5323:1: ruleField
            {
             before(grammarAccess.getRecordAccess().getFieldsFieldParserRuleCall_3_1_0()); 
            pushFollow(FOLLOW_ruleField_in_rule__Record__FieldsAssignment_3_110830);
            ruleField();

            state._fsp--;

             after(grammarAccess.getRecordAccess().getFieldsFieldParserRuleCall_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__FieldsAssignment_3_1"


    // $ANTLR start "rule__Field__TypeAssignment_0_0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5332:1: rule__Field__TypeAssignment_0_0 : ( ruleFieldType ) ;
    public final void rule__Field__TypeAssignment_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5336:1: ( ( ruleFieldType ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5337:1: ( ruleFieldType )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5337:1: ( ruleFieldType )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5338:1: ruleFieldType
            {
             before(grammarAccess.getFieldAccess().getTypeFieldTypeParserRuleCall_0_0_0()); 
            pushFollow(FOLLOW_ruleFieldType_in_rule__Field__TypeAssignment_0_010861);
            ruleFieldType();

            state._fsp--;

             after(grammarAccess.getFieldAccess().getTypeFieldTypeParserRuleCall_0_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__TypeAssignment_0_0"


    // $ANTLR start "rule__Field__AnnotationAssignment_0_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5347:1: rule__Field__AnnotationAssignment_0_1 : ( ruleAnnotation ) ;
    public final void rule__Field__AnnotationAssignment_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5351:1: ( ( ruleAnnotation ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5352:1: ( ruleAnnotation )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5352:1: ( ruleAnnotation )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5353:1: ruleAnnotation
            {
             before(grammarAccess.getFieldAccess().getAnnotationAnnotationParserRuleCall_0_1_0()); 
            pushFollow(FOLLOW_ruleAnnotation_in_rule__Field__AnnotationAssignment_0_110892);
            ruleAnnotation();

            state._fsp--;

             after(grammarAccess.getFieldAccess().getAnnotationAnnotationParserRuleCall_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__AnnotationAssignment_0_1"


    // $ANTLR start "rule__Field__NameAssignment_0_2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5362:1: rule__Field__NameAssignment_0_2 : ( RULE_ID ) ;
    public final void rule__Field__NameAssignment_0_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5366:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5367:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5367:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5368:1: RULE_ID
            {
             before(grammarAccess.getFieldAccess().getNameIDTerminalRuleCall_0_2_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Field__NameAssignment_0_210923); 
             after(grammarAccess.getFieldAccess().getNameIDTerminalRuleCall_0_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__NameAssignment_0_2"


    // $ANTLR start "rule__Field__ValueAssignment_0_3_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5377:1: rule__Field__ValueAssignment_0_3_1 : ( ruleConstValue ) ;
    public final void rule__Field__ValueAssignment_0_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5381:1: ( ( ruleConstValue ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5382:1: ( ruleConstValue )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5382:1: ( ruleConstValue )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5383:1: ruleConstValue
            {
             before(grammarAccess.getFieldAccess().getValueConstValueParserRuleCall_0_3_1_0()); 
            pushFollow(FOLLOW_ruleConstValue_in_rule__Field__ValueAssignment_0_3_110954);
            ruleConstValue();

            state._fsp--;

             after(grammarAccess.getFieldAccess().getValueConstValueParserRuleCall_0_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__ValueAssignment_0_3_1"


    // $ANTLR start "rule__Field__TypeAssignment_1_0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5392:1: rule__Field__TypeAssignment_1_0 : ( ruleDefType ) ;
    public final void rule__Field__TypeAssignment_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5396:1: ( ( ruleDefType ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5397:1: ( ruleDefType )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5397:1: ( ruleDefType )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5398:1: ruleDefType
            {
             before(grammarAccess.getFieldAccess().getTypeDefTypeParserRuleCall_1_0_0()); 
            pushFollow(FOLLOW_ruleDefType_in_rule__Field__TypeAssignment_1_010985);
            ruleDefType();

            state._fsp--;

             after(grammarAccess.getFieldAccess().getTypeDefTypeParserRuleCall_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__TypeAssignment_1_0"


    // $ANTLR start "rule__Field__AnnotationAssignment_1_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5407:1: rule__Field__AnnotationAssignment_1_1 : ( ruleAnnotation ) ;
    public final void rule__Field__AnnotationAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5411:1: ( ( ruleAnnotation ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5412:1: ( ruleAnnotation )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5412:1: ( ruleAnnotation )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5413:1: ruleAnnotation
            {
             before(grammarAccess.getFieldAccess().getAnnotationAnnotationParserRuleCall_1_1_0()); 
            pushFollow(FOLLOW_ruleAnnotation_in_rule__Field__AnnotationAssignment_1_111016);
            ruleAnnotation();

            state._fsp--;

             after(grammarAccess.getFieldAccess().getAnnotationAnnotationParserRuleCall_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__AnnotationAssignment_1_1"


    // $ANTLR start "rule__Field__NameAssignment_1_2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5422:1: rule__Field__NameAssignment_1_2 : ( RULE_ID ) ;
    public final void rule__Field__NameAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5426:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5427:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5427:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5428:1: RULE_ID
            {
             before(grammarAccess.getFieldAccess().getNameIDTerminalRuleCall_1_2_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Field__NameAssignment_1_211047); 
             after(grammarAccess.getFieldAccess().getNameIDTerminalRuleCall_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Field__NameAssignment_1_2"


    // $ANTLR start "rule__Enum__NameAssignment_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5437:1: rule__Enum__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Enum__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5441:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5442:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5442:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5443:1: RULE_ID
            {
             before(grammarAccess.getEnumAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Enum__NameAssignment_111078); 
             after(grammarAccess.getEnumAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__NameAssignment_1"


    // $ANTLR start "rule__Enum__FieldsAssignment_3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5452:1: rule__Enum__FieldsAssignment_3 : ( ruleEnumFields ) ;
    public final void rule__Enum__FieldsAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5456:1: ( ( ruleEnumFields ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5457:1: ( ruleEnumFields )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5457:1: ( ruleEnumFields )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5458:1: ruleEnumFields
            {
             before(grammarAccess.getEnumAccess().getFieldsEnumFieldsParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleEnumFields_in_rule__Enum__FieldsAssignment_311109);
            ruleEnumFields();

            state._fsp--;

             after(grammarAccess.getEnumAccess().getFieldsEnumFieldsParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__FieldsAssignment_3"


    // $ANTLR start "rule__Enum__FieldsAssignment_4_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5467:1: rule__Enum__FieldsAssignment_4_1 : ( ruleEnumFields ) ;
    public final void rule__Enum__FieldsAssignment_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5471:1: ( ( ruleEnumFields ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5472:1: ( ruleEnumFields )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5472:1: ( ruleEnumFields )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5473:1: ruleEnumFields
            {
             before(grammarAccess.getEnumAccess().getFieldsEnumFieldsParserRuleCall_4_1_0()); 
            pushFollow(FOLLOW_ruleEnumFields_in_rule__Enum__FieldsAssignment_4_111140);
            ruleEnumFields();

            state._fsp--;

             after(grammarAccess.getEnumAccess().getFieldsEnumFieldsParserRuleCall_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__FieldsAssignment_4_1"


    // $ANTLR start "rule__EnumFields__NameAssignment"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5482:1: rule__EnumFields__NameAssignment : ( RULE_ID ) ;
    public final void rule__EnumFields__NameAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5486:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5487:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5487:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5488:1: RULE_ID
            {
             before(grammarAccess.getEnumFieldsAccess().getNameIDTerminalRuleCall_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumFields__NameAssignment11171); 
             after(grammarAccess.getEnumFieldsAccess().getNameIDTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumFields__NameAssignment"


    // $ANTLR start "rule__FixedLengthField__NameAssignment_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5497:1: rule__FixedLengthField__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__FixedLengthField__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5501:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5502:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5502:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5503:1: RULE_ID
            {
             before(grammarAccess.getFixedLengthFieldAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FixedLengthField__NameAssignment_111202); 
             after(grammarAccess.getFixedLengthFieldAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FixedLengthField__NameAssignment_1"


    // $ANTLR start "rule__FixedLengthField__SizeAssignment_3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5512:1: rule__FixedLengthField__SizeAssignment_3 : ( RULE_INT ) ;
    public final void rule__FixedLengthField__SizeAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5516:1: ( ( RULE_INT ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5517:1: ( RULE_INT )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5517:1: ( RULE_INT )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5518:1: RULE_INT
            {
             before(grammarAccess.getFixedLengthFieldAccess().getSizeINTTerminalRuleCall_3_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__FixedLengthField__SizeAssignment_311233); 
             after(grammarAccess.getFixedLengthFieldAccess().getSizeINTTerminalRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FixedLengthField__SizeAssignment_3"


    // $ANTLR start "rule__Imports__ImportTypeAssignment_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5527:1: rule__Imports__ImportTypeAssignment_1 : ( ruleImportTypeRef ) ;
    public final void rule__Imports__ImportTypeAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5531:1: ( ( ruleImportTypeRef ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5532:1: ( ruleImportTypeRef )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5532:1: ( ruleImportTypeRef )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5533:1: ruleImportTypeRef
            {
             before(grammarAccess.getImportsAccess().getImportTypeImportTypeRefParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleImportTypeRef_in_rule__Imports__ImportTypeAssignment_111264);
            ruleImportTypeRef();

            state._fsp--;

             after(grammarAccess.getImportsAccess().getImportTypeImportTypeRefParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Imports__ImportTypeAssignment_1"


    // $ANTLR start "rule__Imports__ImportURIAssignment_2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5542:1: rule__Imports__ImportURIAssignment_2 : ( ruleStringRef ) ;
    public final void rule__Imports__ImportURIAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5546:1: ( ( ruleStringRef ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5547:1: ( ruleStringRef )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5547:1: ( ruleStringRef )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5548:1: ruleStringRef
            {
             before(grammarAccess.getImportsAccess().getImportURIStringRefParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleStringRef_in_rule__Imports__ImportURIAssignment_211295);
            ruleStringRef();

            state._fsp--;

             after(grammarAccess.getImportsAccess().getImportURIStringRefParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Imports__ImportURIAssignment_2"


    // $ANTLR start "rule__Imports__EndLineAssignment_3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5557:1: rule__Imports__EndLineAssignment_3 : ( ruleEndLine ) ;
    public final void rule__Imports__EndLineAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5561:1: ( ( ruleEndLine ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5562:1: ( ruleEndLine )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5562:1: ( ruleEndLine )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5563:1: ruleEndLine
            {
             before(grammarAccess.getImportsAccess().getEndLineEndLineParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleEndLine_in_rule__Imports__EndLineAssignment_311326);
            ruleEndLine();

            state._fsp--;

             after(grammarAccess.getImportsAccess().getEndLineEndLineParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Imports__EndLineAssignment_3"


    // $ANTLR start "rule__RPCMessage__ReturnTypeAssignment_0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5572:1: rule__RPCMessage__ReturnTypeAssignment_0 : ( ruleReturnType ) ;
    public final void rule__RPCMessage__ReturnTypeAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5576:1: ( ( ruleReturnType ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5577:1: ( ruleReturnType )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5577:1: ( ruleReturnType )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5578:1: ruleReturnType
            {
             before(grammarAccess.getRPCMessageAccess().getReturnTypeReturnTypeParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleReturnType_in_rule__RPCMessage__ReturnTypeAssignment_011357);
            ruleReturnType();

            state._fsp--;

             after(grammarAccess.getRPCMessageAccess().getReturnTypeReturnTypeParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__ReturnTypeAssignment_0"


    // $ANTLR start "rule__RPCMessage__NameAssignment_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5587:1: rule__RPCMessage__NameAssignment_1 : ( ruleName ) ;
    public final void rule__RPCMessage__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5591:1: ( ( ruleName ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5592:1: ( ruleName )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5592:1: ( ruleName )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5593:1: ruleName
            {
             before(grammarAccess.getRPCMessageAccess().getNameNameParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleName_in_rule__RPCMessage__NameAssignment_111388);
            ruleName();

            state._fsp--;

             after(grammarAccess.getRPCMessageAccess().getNameNameParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__NameAssignment_1"


    // $ANTLR start "rule__RPCMessage__ArgsAssignment_3_0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5602:1: rule__RPCMessage__ArgsAssignment_3_0 : ( ruleArgument ) ;
    public final void rule__RPCMessage__ArgsAssignment_3_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5606:1: ( ( ruleArgument ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5607:1: ( ruleArgument )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5607:1: ( ruleArgument )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5608:1: ruleArgument
            {
             before(grammarAccess.getRPCMessageAccess().getArgsArgumentParserRuleCall_3_0_0()); 
            pushFollow(FOLLOW_ruleArgument_in_rule__RPCMessage__ArgsAssignment_3_011419);
            ruleArgument();

            state._fsp--;

             after(grammarAccess.getRPCMessageAccess().getArgsArgumentParserRuleCall_3_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__ArgsAssignment_3_0"


    // $ANTLR start "rule__RPCMessage__ArgsAssignment_3_1_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5617:1: rule__RPCMessage__ArgsAssignment_3_1_1 : ( ruleArgument ) ;
    public final void rule__RPCMessage__ArgsAssignment_3_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5621:1: ( ( ruleArgument ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5622:1: ( ruleArgument )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5622:1: ( ruleArgument )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5623:1: ruleArgument
            {
             before(grammarAccess.getRPCMessageAccess().getArgsArgumentParserRuleCall_3_1_1_0()); 
            pushFollow(FOLLOW_ruleArgument_in_rule__RPCMessage__ArgsAssignment_3_1_111450);
            ruleArgument();

            state._fsp--;

             after(grammarAccess.getRPCMessageAccess().getArgsArgumentParserRuleCall_3_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__ArgsAssignment_3_1_1"


    // $ANTLR start "rule__RPCMessage__ThrowsAssignment_6"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5632:1: rule__RPCMessage__ThrowsAssignment_6 : ( ruleThrows ) ;
    public final void rule__RPCMessage__ThrowsAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5636:1: ( ( ruleThrows ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5637:1: ( ruleThrows )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5637:1: ( ruleThrows )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5638:1: ruleThrows
            {
             before(grammarAccess.getRPCMessageAccess().getThrowsThrowsParserRuleCall_6_0()); 
            pushFollow(FOLLOW_ruleThrows_in_rule__RPCMessage__ThrowsAssignment_611481);
            ruleThrows();

            state._fsp--;

             after(grammarAccess.getRPCMessageAccess().getThrowsThrowsParserRuleCall_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RPCMessage__ThrowsAssignment_6"


    // $ANTLR start "rule__Name__ValueAssignment_0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5647:1: rule__Name__ValueAssignment_0 : ( RULE_ID ) ;
    public final void rule__Name__ValueAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5651:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5652:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5652:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5653:1: RULE_ID
            {
             before(grammarAccess.getNameAccess().getValueIDTerminalRuleCall_0_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Name__ValueAssignment_011512); 
             after(grammarAccess.getNameAccess().getValueIDTerminalRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Name__ValueAssignment_0"


    // $ANTLR start "rule__Name__ValueAssignment_1_0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5662:1: rule__Name__ValueAssignment_1_0 : ( ( '`' ) ) ;
    public final void rule__Name__ValueAssignment_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5666:1: ( ( ( '`' ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5667:1: ( ( '`' ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5667:1: ( ( '`' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5668:1: ( '`' )
            {
             before(grammarAccess.getNameAccess().getValueGraveAccentKeyword_1_0_0()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5669:1: ( '`' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5670:1: '`'
            {
             before(grammarAccess.getNameAccess().getValueGraveAccentKeyword_1_0_0()); 
            match(input,41,FOLLOW_41_in_rule__Name__ValueAssignment_1_011548); 
             after(grammarAccess.getNameAccess().getValueGraveAccentKeyword_1_0_0()); 

            }

             after(grammarAccess.getNameAccess().getValueGraveAccentKeyword_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Name__ValueAssignment_1_0"


    // $ANTLR start "rule__ReturnType__TypeAssignment_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5685:1: rule__ReturnType__TypeAssignment_1 : ( ( RULE_ID ) ) ;
    public final void rule__ReturnType__TypeAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5689:1: ( ( ( RULE_ID ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5690:1: ( ( RULE_ID ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5690:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5691:1: ( RULE_ID )
            {
             before(grammarAccess.getReturnTypeAccess().getTypeDefinitionsCrossReference_1_0()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5692:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5693:1: RULE_ID
            {
             before(grammarAccess.getReturnTypeAccess().getTypeDefinitionsIDTerminalRuleCall_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ReturnType__TypeAssignment_111591); 
             after(grammarAccess.getReturnTypeAccess().getTypeDefinitionsIDTerminalRuleCall_1_0_1()); 

            }

             after(grammarAccess.getReturnTypeAccess().getTypeDefinitionsCrossReference_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ReturnType__TypeAssignment_1"


    // $ANTLR start "rule__Throws__ErrorAssignment_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5704:1: rule__Throws__ErrorAssignment_1 : ( ( RULE_ID ) ) ;
    public final void rule__Throws__ErrorAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5708:1: ( ( ( RULE_ID ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5709:1: ( ( RULE_ID ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5709:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5710:1: ( RULE_ID )
            {
             before(grammarAccess.getThrowsAccess().getErrorErrorCrossReference_1_0()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5711:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5712:1: RULE_ID
            {
             before(grammarAccess.getThrowsAccess().getErrorErrorIDTerminalRuleCall_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Throws__ErrorAssignment_111630); 
             after(grammarAccess.getThrowsAccess().getErrorErrorIDTerminalRuleCall_1_0_1()); 

            }

             after(grammarAccess.getThrowsAccess().getErrorErrorCrossReference_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Throws__ErrorAssignment_1"


    // $ANTLR start "rule__Argument__TypeAssignment_0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5723:1: rule__Argument__TypeAssignment_0 : ( ruleReturnType ) ;
    public final void rule__Argument__TypeAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5727:1: ( ( ruleReturnType ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5728:1: ( ruleReturnType )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5728:1: ( ruleReturnType )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5729:1: ruleReturnType
            {
             before(grammarAccess.getArgumentAccess().getTypeReturnTypeParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleReturnType_in_rule__Argument__TypeAssignment_011665);
            ruleReturnType();

            state._fsp--;

             after(grammarAccess.getArgumentAccess().getTypeReturnTypeParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Argument__TypeAssignment_0"


    // $ANTLR start "rule__Argument__NameAssignment_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5738:1: rule__Argument__NameAssignment_1 : ( ruleName ) ;
    public final void rule__Argument__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5742:1: ( ( ruleName ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5743:1: ( ruleName )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5743:1: ( ruleName )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5744:1: ruleName
            {
             before(grammarAccess.getArgumentAccess().getNameNameParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleName_in_rule__Argument__NameAssignment_111696);
            ruleName();

            state._fsp--;

             after(grammarAccess.getArgumentAccess().getNameNameParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Argument__NameAssignment_1"


    // $ANTLR start "rule__Argument__ValueAssignment_2_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5753:1: rule__Argument__ValueAssignment_2_1 : ( ruleConstValue ) ;
    public final void rule__Argument__ValueAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5757:1: ( ( ruleConstValue ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5758:1: ( ruleConstValue )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5758:1: ( ruleConstValue )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5759:1: ruleConstValue
            {
             before(grammarAccess.getArgumentAccess().getValueConstValueParserRuleCall_2_1_0()); 
            pushFollow(FOLLOW_ruleConstValue_in_rule__Argument__ValueAssignment_2_111727);
            ruleConstValue();

            state._fsp--;

             after(grammarAccess.getArgumentAccess().getValueConstValueParserRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Argument__ValueAssignment_2_1"


    // $ANTLR start "rule__AliasAnnotation__ElementAssignment_3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5768:1: rule__AliasAnnotation__ElementAssignment_3 : ( ruleStringRef ) ;
    public final void rule__AliasAnnotation__ElementAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5772:1: ( ( ruleStringRef ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5773:1: ( ruleStringRef )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5773:1: ( ruleStringRef )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5774:1: ruleStringRef
            {
             before(grammarAccess.getAliasAnnotationAccess().getElementStringRefParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleStringRef_in_rule__AliasAnnotation__ElementAssignment_311758);
            ruleStringRef();

            state._fsp--;

             after(grammarAccess.getAliasAnnotationAccess().getElementStringRefParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__ElementAssignment_3"


    // $ANTLR start "rule__AliasAnnotation__ElementAssignment_4_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5783:1: rule__AliasAnnotation__ElementAssignment_4_1 : ( ruleStringRef ) ;
    public final void rule__AliasAnnotation__ElementAssignment_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5787:1: ( ( ruleStringRef ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5788:1: ( ruleStringRef )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5788:1: ( ruleStringRef )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5789:1: ruleStringRef
            {
             before(grammarAccess.getAliasAnnotationAccess().getElementStringRefParserRuleCall_4_1_0()); 
            pushFollow(FOLLOW_ruleStringRef_in_rule__AliasAnnotation__ElementAssignment_4_111789);
            ruleStringRef();

            state._fsp--;

             after(grammarAccess.getAliasAnnotationAccess().getElementStringRefParserRuleCall_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AliasAnnotation__ElementAssignment_4_1"


    // $ANTLR start "rule__OrderAnnotation__OrderAssignment_2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5798:1: rule__OrderAnnotation__OrderAssignment_2 : ( ruleStringRef ) ;
    public final void rule__OrderAnnotation__OrderAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5802:1: ( ( ruleStringRef ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5803:1: ( ruleStringRef )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5803:1: ( ruleStringRef )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5804:1: ruleStringRef
            {
             before(grammarAccess.getOrderAnnotationAccess().getOrderStringRefParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleStringRef_in_rule__OrderAnnotation__OrderAssignment_211820);
            ruleStringRef();

            state._fsp--;

             after(grammarAccess.getOrderAnnotationAccess().getOrderStringRefParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__OrderAnnotation__OrderAssignment_2"


    // $ANTLR start "rule__NamespaceAnnotation__PathAssignment_2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5813:1: rule__NamespaceAnnotation__PathAssignment_2 : ( ruleStringRef ) ;
    public final void rule__NamespaceAnnotation__PathAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5817:1: ( ( ruleStringRef ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5818:1: ( ruleStringRef )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5818:1: ( ruleStringRef )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5819:1: ruleStringRef
            {
             before(grammarAccess.getNamespaceAnnotationAccess().getPathStringRefParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleStringRef_in_rule__NamespaceAnnotation__PathAssignment_211851);
            ruleStringRef();

            state._fsp--;

             after(grammarAccess.getNamespaceAnnotationAccess().getPathStringRefParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NamespaceAnnotation__PathAssignment_2"


    // $ANTLR start "rule__JavaclassAnnotation__ClasspathAssignment_2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5828:1: rule__JavaclassAnnotation__ClasspathAssignment_2 : ( ruleStringRef ) ;
    public final void rule__JavaclassAnnotation__ClasspathAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5832:1: ( ( ruleStringRef ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5833:1: ( ruleStringRef )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5833:1: ( ruleStringRef )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5834:1: ruleStringRef
            {
             before(grammarAccess.getJavaclassAnnotationAccess().getClasspathStringRefParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleStringRef_in_rule__JavaclassAnnotation__ClasspathAssignment_211882);
            ruleStringRef();

            state._fsp--;

             after(grammarAccess.getJavaclassAnnotationAccess().getClasspathStringRefParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__JavaclassAnnotation__ClasspathAssignment_2"


    // $ANTLR start "rule__DefType__NameAssignment"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5843:1: rule__DefType__NameAssignment : ( ( RULE_ID ) ) ;
    public final void rule__DefType__NameAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5847:1: ( ( ( RULE_ID ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5848:1: ( ( RULE_ID ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5848:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5849:1: ( RULE_ID )
            {
             before(grammarAccess.getDefTypeAccess().getNameDefinitionsCrossReference_0()); 
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5850:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5851:1: RULE_ID
            {
             before(grammarAccess.getDefTypeAccess().getNameDefinitionsIDTerminalRuleCall_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__DefType__NameAssignment11917); 
             after(grammarAccess.getDefTypeAccess().getNameDefinitionsIDTerminalRuleCall_0_1()); 

            }

             after(grammarAccess.getDefTypeAccess().getNameDefinitionsCrossReference_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DefType__NameAssignment"


    // $ANTLR start "rule__BaseTypeRef__BasicTypeAssignment"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5862:1: rule__BaseTypeRef__BasicTypeAssignment : ( ruleBaseType ) ;
    public final void rule__BaseTypeRef__BasicTypeAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5866:1: ( ( ruleBaseType ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5867:1: ( ruleBaseType )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5867:1: ( ruleBaseType )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5868:1: ruleBaseType
            {
             before(grammarAccess.getBaseTypeRefAccess().getBasicTypeBaseTypeEnumRuleCall_0()); 
            pushFollow(FOLLOW_ruleBaseType_in_rule__BaseTypeRef__BasicTypeAssignment11952);
            ruleBaseType();

            state._fsp--;

             after(grammarAccess.getBaseTypeRefAccess().getBasicTypeBaseTypeEnumRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BaseTypeRef__BasicTypeAssignment"


    // $ANTLR start "rule__IntRef__IntAssignment"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5877:1: rule__IntRef__IntAssignment : ( RULE_INT ) ;
    public final void rule__IntRef__IntAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5881:1: ( ( RULE_INT ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5882:1: ( RULE_INT )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5882:1: ( RULE_INT )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5883:1: RULE_INT
            {
             before(grammarAccess.getIntRefAccess().getIntINTTerminalRuleCall_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__IntRef__IntAssignment11983); 
             after(grammarAccess.getIntRefAccess().getIntINTTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IntRef__IntAssignment"


    // $ANTLR start "rule__HexRef__HexAssignment"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5892:1: rule__HexRef__HexAssignment : ( RULE_HEX ) ;
    public final void rule__HexRef__HexAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5896:1: ( ( RULE_HEX ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5897:1: ( RULE_HEX )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5897:1: ( RULE_HEX )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5898:1: RULE_HEX
            {
             before(grammarAccess.getHexRefAccess().getHexHEXTerminalRuleCall_0()); 
            match(input,RULE_HEX,FOLLOW_RULE_HEX_in_rule__HexRef__HexAssignment12014); 
             after(grammarAccess.getHexRefAccess().getHexHEXTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexRef__HexAssignment"


    // $ANTLR start "rule__DoubleRef__DoubleAssignment"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5907:1: rule__DoubleRef__DoubleAssignment : ( RULE_DOUBLE ) ;
    public final void rule__DoubleRef__DoubleAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5911:1: ( ( RULE_DOUBLE ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5912:1: ( RULE_DOUBLE )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5912:1: ( RULE_DOUBLE )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5913:1: RULE_DOUBLE
            {
             before(grammarAccess.getDoubleRefAccess().getDoubleDOUBLETerminalRuleCall_0()); 
            match(input,RULE_DOUBLE,FOLLOW_RULE_DOUBLE_in_rule__DoubleRef__DoubleAssignment12045); 
             after(grammarAccess.getDoubleRefAccess().getDoubleDOUBLETerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoubleRef__DoubleAssignment"


    // $ANTLR start "rule__BooleanRef__BooleanAssignment"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5922:1: rule__BooleanRef__BooleanAssignment : ( ruleBOOL ) ;
    public final void rule__BooleanRef__BooleanAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5926:1: ( ( ruleBOOL ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5927:1: ( ruleBOOL )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5927:1: ( ruleBOOL )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5928:1: ruleBOOL
            {
             before(grammarAccess.getBooleanRefAccess().getBooleanBOOLEnumRuleCall_0()); 
            pushFollow(FOLLOW_ruleBOOL_in_rule__BooleanRef__BooleanAssignment12076);
            ruleBOOL();

            state._fsp--;

             after(grammarAccess.getBooleanRefAccess().getBooleanBOOLEnumRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BooleanRef__BooleanAssignment"


    // $ANTLR start "rule__StringRef__StringAssignment"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5937:1: rule__StringRef__StringAssignment : ( RULE_STRING ) ;
    public final void rule__StringRef__StringAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5941:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5942:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5942:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5943:1: RULE_STRING
            {
             before(grammarAccess.getStringRefAccess().getStringSTRINGTerminalRuleCall_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringRef__StringAssignment12107); 
             after(grammarAccess.getStringRefAccess().getStringSTRINGTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringRef__StringAssignment"


    // $ANTLR start "rule__ImportTypeRef__TypeAssignment"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5952:1: rule__ImportTypeRef__TypeAssignment : ( ruleImportType ) ;
    public final void rule__ImportTypeRef__TypeAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5956:1: ( ( ruleImportType ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5957:1: ( ruleImportType )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5957:1: ( ruleImportType )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5958:1: ruleImportType
            {
             before(grammarAccess.getImportTypeRefAccess().getTypeImportTypeParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleImportType_in_rule__ImportTypeRef__TypeAssignment12138);
            ruleImportType();

            state._fsp--;

             after(grammarAccess.getImportTypeRefAccess().getTypeImportTypeParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ImportTypeRef__TypeAssignment"


    // $ANTLR start "rule__ArrayType__TypeAssignment_2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5967:1: rule__ArrayType__TypeAssignment_2 : ( ruleFieldType ) ;
    public final void rule__ArrayType__TypeAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5971:1: ( ( ruleFieldType ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5972:1: ( ruleFieldType )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5972:1: ( ruleFieldType )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5973:1: ruleFieldType
            {
             before(grammarAccess.getArrayTypeAccess().getTypeFieldTypeParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleFieldType_in_rule__ArrayType__TypeAssignment_212169);
            ruleFieldType();

            state._fsp--;

             after(grammarAccess.getArrayTypeAccess().getTypeFieldTypeParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__TypeAssignment_2"


    // $ANTLR start "rule__MapType__TypeAssignment_2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5982:1: rule__MapType__TypeAssignment_2 : ( ruleFieldType ) ;
    public final void rule__MapType__TypeAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5986:1: ( ( ruleFieldType ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5987:1: ( ruleFieldType )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5987:1: ( ruleFieldType )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5988:1: ruleFieldType
            {
             before(grammarAccess.getMapTypeAccess().getTypeFieldTypeParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleFieldType_in_rule__MapType__TypeAssignment_212200);
            ruleFieldType();

            state._fsp--;

             after(grammarAccess.getMapTypeAccess().getTypeFieldTypeParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MapType__TypeAssignment_2"


    // $ANTLR start "rule__UnionType__TypesAssignment_2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:5997:1: rule__UnionType__TypesAssignment_2 : ( ruleUnionFieldType ) ;
    public final void rule__UnionType__TypesAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6001:1: ( ( ruleUnionFieldType ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6002:1: ( ruleUnionFieldType )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6002:1: ( ruleUnionFieldType )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6003:1: ruleUnionFieldType
            {
             before(grammarAccess.getUnionTypeAccess().getTypesUnionFieldTypeParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleUnionFieldType_in_rule__UnionType__TypesAssignment_212231);
            ruleUnionFieldType();

            state._fsp--;

             after(grammarAccess.getUnionTypeAccess().getTypesUnionFieldTypeParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__TypesAssignment_2"


    // $ANTLR start "rule__UnionType__TypesAssignment_3_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6012:1: rule__UnionType__TypesAssignment_3_1 : ( ruleUnionFieldType ) ;
    public final void rule__UnionType__TypesAssignment_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6016:1: ( ( ruleUnionFieldType ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6017:1: ( ruleUnionFieldType )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6017:1: ( ruleUnionFieldType )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6018:1: ruleUnionFieldType
            {
             before(grammarAccess.getUnionTypeAccess().getTypesUnionFieldTypeParserRuleCall_3_1_0()); 
            pushFollow(FOLLOW_ruleUnionFieldType_in_rule__UnionType__TypesAssignment_3_112262);
            ruleUnionFieldType();

            state._fsp--;

             after(grammarAccess.getUnionTypeAccess().getTypesUnionFieldTypeParserRuleCall_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__TypesAssignment_3_1"


    // $ANTLR start "rule__UnionType__AnnotationAssignment_5"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6027:1: rule__UnionType__AnnotationAssignment_5 : ( ruleAnnotation ) ;
    public final void rule__UnionType__AnnotationAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6031:1: ( ( ruleAnnotation ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6032:1: ( ruleAnnotation )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6032:1: ( ruleAnnotation )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6033:1: ruleAnnotation
            {
             before(grammarAccess.getUnionTypeAccess().getAnnotationAnnotationParserRuleCall_5_0()); 
            pushFollow(FOLLOW_ruleAnnotation_in_rule__UnionType__AnnotationAssignment_512293);
            ruleAnnotation();

            state._fsp--;

             after(grammarAccess.getUnionTypeAccess().getAnnotationAnnotationParserRuleCall_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__AnnotationAssignment_5"


    // $ANTLR start "rule__UnionType__OptionalStringAssignment_6"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6042:1: rule__UnionType__OptionalStringAssignment_6 : ( RULE_ID ) ;
    public final void rule__UnionType__OptionalStringAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6046:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6047:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6047:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalIdl.g:6048:1: RULE_ID
            {
             before(grammarAccess.getUnionTypeAccess().getOptionalStringIDTerminalRuleCall_6_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__UnionType__OptionalStringAssignment_612324); 
             after(grammarAccess.getUnionTypeAccess().getOptionalStringIDTerminalRuleCall_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnionType__OptionalStringAssignment_6"

    // Delegated rules


    protected DFA1 dfa1 = new DFA1(this);
    static final String DFA1_eotS =
        "\23\uffff";
    static final String DFA1_eofS =
        "\5\uffff\11\21\5\uffff";
    static final String DFA1_minS =
        "\1\4\4\uffff\11\4\4\uffff\1\4";
    static final String DFA1_maxS =
        "\1\63\4\uffff\11\63\4\uffff\1\51";
    static final String DFA1_acceptS =
        "\1\uffff\1\1\1\2\1\3\1\4\11\uffff\1\6\1\7\1\10\1\5\1\uffff";
    static final String DFA1_specialS =
        "\23\uffff}>";
    static final String[] DFA1_transitionS = {
            "\1\17\12\uffff\1\4\1\3\1\1\1\2\7\uffff\1\5\1\6\1\7\1\10\1\11"+
            "\1\12\1\13\1\14\1\15\7\uffff\1\20\2\uffff\3\20\1\16\2\uffff"+
            "\1\16",
            "",
            "",
            "",
            "",
            "\1\22\12\uffff\4\21\7\uffff\11\21\1\uffff\1\21\4\uffff\1\17"+
            "\1\21\2\uffff\4\21\2\uffff\1\21",
            "\1\22\12\uffff\4\21\7\uffff\11\21\1\uffff\1\21\4\uffff\1\17"+
            "\1\21\2\uffff\4\21\2\uffff\1\21",
            "\1\22\12\uffff\4\21\7\uffff\11\21\1\uffff\1\21\4\uffff\1\17"+
            "\1\21\2\uffff\4\21\2\uffff\1\21",
            "\1\22\12\uffff\4\21\7\uffff\11\21\1\uffff\1\21\4\uffff\1\17"+
            "\1\21\2\uffff\4\21\2\uffff\1\21",
            "\1\22\12\uffff\4\21\7\uffff\11\21\1\uffff\1\21\4\uffff\1\17"+
            "\1\21\2\uffff\4\21\2\uffff\1\21",
            "\1\22\12\uffff\4\21\7\uffff\11\21\1\uffff\1\21\4\uffff\1\17"+
            "\1\21\2\uffff\4\21\2\uffff\1\21",
            "\1\22\12\uffff\4\21\7\uffff\11\21\1\uffff\1\21\4\uffff\1\17"+
            "\1\21\2\uffff\4\21\2\uffff\1\21",
            "\1\22\12\uffff\4\21\7\uffff\11\21\1\uffff\1\21\4\uffff\1\17"+
            "\1\21\2\uffff\4\21\2\uffff\1\21",
            "\1\22\12\uffff\4\21\7\uffff\11\21\1\uffff\1\21\4\uffff\1\17"+
            "\1\21\2\uffff\4\21\2\uffff\1\21",
            "",
            "",
            "",
            "",
            "\1\21\41\uffff\1\17\2\uffff\1\21"
    };

    static final short[] DFA1_eot = DFA.unpackEncodedString(DFA1_eotS);
    static final short[] DFA1_eof = DFA.unpackEncodedString(DFA1_eofS);
    static final char[] DFA1_min = DFA.unpackEncodedStringToUnsignedChars(DFA1_minS);
    static final char[] DFA1_max = DFA.unpackEncodedStringToUnsignedChars(DFA1_maxS);
    static final short[] DFA1_accept = DFA.unpackEncodedString(DFA1_acceptS);
    static final short[] DFA1_special = DFA.unpackEncodedString(DFA1_specialS);
    static final short[][] DFA1_transition;

    static {
        int numStates = DFA1_transitionS.length;
        DFA1_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA1_transition[i] = DFA.unpackEncodedString(DFA1_transitionS[i]);
        }
    }

    class DFA1 extends DFA {

        public DFA1(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 1;
            this.eot = DFA1_eot;
            this.eof = DFA1_eof;
            this.min = DFA1_min;
            this.max = DFA1_max;
            this.accept = DFA1_accept;
            this.special = DFA1_special;
            this.transition = DFA1_transition;
        }
        public String getDescription() {
            return "1224:1: rule__Definitions__Alternatives : ( ( ruleEnum ) | ( ruleFixedLengthField ) | ( ruleRecord ) | ( ruleError ) | ( ruleBaseTypeRef ) | ( ruleComplexTypeRef ) | ( ruleRPCMessage ) | ( ruleAnnotation ) );";
        }
    }
 

    public static final BitSet FOLLOW_ruleAvroIdl_in_entryRuleAvroIdl61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAvroIdl68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AvroIdl__Group__0_in_ruleAvroIdl94 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleProtocol_in_entryRuleProtocol121 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleProtocol128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Protocol__Group__0_in_ruleProtocol154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDefinitions_in_entryRuleDefinitions181 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDefinitions188 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definitions__Alternatives_in_ruleDefinitions214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleReservedIdentifiers_in_entryRuleReservedIdentifiers241 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleReservedIdentifiers248 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ReservedIdentifiers__Alternatives_in_ruleReservedIdentifiers274 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleError_in_entryRuleError301 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleError308 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Error__Group__0_in_ruleError334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRecord_in_entryRuleRecord361 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRecord368 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group__0_in_ruleRecord394 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleField_in_entryRuleField421 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleField428 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Alternatives_in_ruleField454 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnum_in_entryRuleEnum481 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEnum488 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group__0_in_ruleEnum514 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnumFields_in_entryRuleEnumFields541 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEnumFields548 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumFields__NameAssignment_in_ruleEnumFields574 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFixedLengthField_in_entryRuleFixedLengthField601 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFixedLengthField608 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FixedLengthField__Group__0_in_ruleFixedLengthField634 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImports_in_entryRuleImports661 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleImports668 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Imports__Group__0_in_ruleImports694 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRPCMessage_in_entryRuleRPCMessage721 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRPCMessage728 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group__0_in_ruleRPCMessage754 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleName_in_entryRuleName781 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleName788 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Name__Alternatives_in_ruleName814 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleReturnType_in_entryRuleReturnType841 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleReturnType848 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ReturnType__Alternatives_in_ruleReturnType874 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleThrows_in_entryRuleThrows901 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleThrows908 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Throws__Group__0_in_ruleThrows934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArgument_in_entryRuleArgument961 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleArgument968 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Argument__Group__0_in_ruleArgument994 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotation_in_entryRuleAnnotation1021 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAnnotation1028 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Annotation__Alternatives_in_ruleAnnotation1054 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAliasAnnotation_in_entryRuleAliasAnnotation1081 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAliasAnnotation1088 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group__0_in_ruleAliasAnnotation1114 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleOrderAnnotation_in_entryRuleOrderAnnotation1141 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleOrderAnnotation1148 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__OrderAnnotation__Group__0_in_ruleOrderAnnotation1174 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNamespaceAnnotation_in_entryRuleNamespaceAnnotation1201 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNamespaceAnnotation1208 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NamespaceAnnotation__Group__0_in_ruleNamespaceAnnotation1234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleJavaclassAnnotation_in_entryRuleJavaclassAnnotation1261 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleJavaclassAnnotation1268 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__JavaclassAnnotation__Group__0_in_ruleJavaclassAnnotation1294 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDefType_in_entryRuleDefType1321 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDefType1328 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DefType__NameAssignment_in_ruleDefType1354 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBaseTypeRef_in_entryRuleBaseTypeRef1381 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBaseTypeRef1388 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BaseTypeRef__BasicTypeAssignment_in_ruleBaseTypeRef1414 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleComplexTypeRef_in_entryRuleComplexTypeRef1441 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleComplexTypeRef1448 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ComplexTypeRef__Alternatives_in_ruleComplexTypeRef1474 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNumberRef_in_entryRuleNumberRef1501 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNumberRef1508 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumberRef__Alternatives_in_ruleNumberRef1534 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIntRef_in_entryRuleIntRef1561 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleIntRef1568 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IntRef__IntAssignment_in_ruleIntRef1594 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHexRef_in_entryRuleHexRef1621 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleHexRef1628 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexRef__HexAssignment_in_ruleHexRef1654 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDoubleRef_in_entryRuleDoubleRef1681 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDoubleRef1688 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DoubleRef__DoubleAssignment_in_ruleDoubleRef1714 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBooleanRef_in_entryRuleBooleanRef1741 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBooleanRef1748 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BooleanRef__BooleanAssignment_in_ruleBooleanRef1774 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringRef_in_entryRuleStringRef1801 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStringRef1808 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringRef__StringAssignment_in_ruleStringRef1834 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImportTypeRef_in_entryRuleImportTypeRef1861 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleImportTypeRef1868 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ImportTypeRef__TypeAssignment_in_ruleImportTypeRef1894 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImportType_in_entryRuleImportType1921 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleImportType1928 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ImportType__Alternatives_in_ruleImportType1954 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldType_in_entryRuleFieldType1981 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFieldType1988 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FieldType__Alternatives_in_ruleFieldType2014 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayType_in_entryRuleArrayType2041 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleArrayType2048 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Group__0_in_ruleArrayType2074 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMapType_in_entryRuleMapType2101 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMapType2108 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__Group__0_in_ruleMapType2134 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnionType_in_entryRuleUnionType2161 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleUnionType2168 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnionType__Group__0_in_ruleUnionType2194 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnionFieldType_in_entryRuleUnionFieldType2221 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleUnionFieldType2228 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnionFieldType__Alternatives_in_ruleUnionFieldType2254 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstValue_in_entryRuleConstValue2281 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleConstValue2288 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConstValue__Alternatives_in_ruleConstValue2314 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleListSeparator_in_entryRuleListSeparator2341 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleListSeparator2348 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_ruleListSeparator2375 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEndLine_in_entryRuleEndLine2405 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEndLine2412 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_ruleEndLine2439 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BOOL__Alternatives_in_ruleBOOL2477 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BaseType__Alternatives_in_ruleBaseType2513 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnum_in_rule__Definitions__Alternatives2548 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFixedLengthField_in_rule__Definitions__Alternatives2565 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRecord_in_rule__Definitions__Alternatives2582 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleError_in_rule__Definitions__Alternatives2599 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBaseTypeRef_in_rule__Definitions__Alternatives2616 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleComplexTypeRef_in_rule__Definitions__Alternatives2633 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRPCMessage_in_rule__Definitions__Alternatives2650 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotation_in_rule__Definitions__Alternatives2667 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__ReservedIdentifiers__Alternatives2700 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__ReservedIdentifiers__Alternatives2720 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__ReservedIdentifiers__Alternatives2740 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__ReservedIdentifiers__Alternatives2760 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__ReservedIdentifiers__Alternatives2780 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__ReservedIdentifiers__Alternatives2800 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_0__0_in_rule__Field__Alternatives2834 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_1__0_in_rule__Field__Alternatives2852 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnionType_in_rule__Field__Alternatives2870 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Name__ValueAssignment_0_in_rule__Name__Alternatives2902 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Name__Group_1__0_in_rule__Name__Alternatives2920 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBaseTypeRef_in_rule__ReturnType__Alternatives2953 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ReturnType__TypeAssignment_1_in_rule__ReturnType__Alternatives2970 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAliasAnnotation_in_rule__Annotation__Alternatives3003 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleOrderAnnotation_in_rule__Annotation__Alternatives3020 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNamespaceAnnotation_in_rule__Annotation__Alternatives3037 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleJavaclassAnnotation_in_rule__Annotation__Alternatives3054 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayType_in_rule__ComplexTypeRef__Alternatives3086 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMapType_in_rule__ComplexTypeRef__Alternatives3103 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIntRef_in_rule__NumberRef__Alternatives3135 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHexRef_in_rule__NumberRef__Alternatives3152 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDoubleRef_in_rule__NumberRef__Alternatives3169 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__ImportType__Alternatives3202 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__ImportType__Alternatives3222 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__ImportType__Alternatives3242 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBaseTypeRef_in_rule__FieldType__Alternatives3276 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleComplexTypeRef_in_rule__FieldType__Alternatives3293 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBaseTypeRef_in_rule__UnionFieldType__Alternatives3325 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDefType_in_rule__UnionFieldType__Alternatives3342 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBooleanRef_in_rule__ConstValue__Alternatives3374 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNumberRef_in_rule__ConstValue__Alternatives3391 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringRef_in_rule__ConstValue__Alternatives3408 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__BOOL__Alternatives3441 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__BOOL__Alternatives3462 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__BaseType__Alternatives3498 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__BaseType__Alternatives3519 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__BaseType__Alternatives3540 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__BaseType__Alternatives3561 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__BaseType__Alternatives3582 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_rule__BaseType__Alternatives3603 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_32_in_rule__BaseType__Alternatives3624 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_33_in_rule__BaseType__Alternatives3645 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_34_in_rule__BaseType__Alternatives3666 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AvroIdl__Group__0__Impl_in_rule__AvroIdl__Group__03699 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_rule__AvroIdl__Group__1_in_rule__AvroIdl__Group__03702 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AvroIdl__NameSpaceAssignment_0_in_rule__AvroIdl__Group__0__Impl3729 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AvroIdl__Group__1__Impl_in_rule__AvroIdl__Group__13760 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AvroIdl__ProtocolAssignment_1_in_rule__AvroIdl__Group__1__Impl3787 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Protocol__Group__0__Impl_in_rule__Protocol__Group__03821 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Protocol__Group__1_in_rule__Protocol__Group__03824 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__Protocol__Group__0__Impl3852 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Protocol__Group__1__Impl_in_rule__Protocol__Group__13883 = new BitSet(new long[]{0x0000000800000000L});
    public static final BitSet FOLLOW_rule__Protocol__Group__2_in_rule__Protocol__Group__13886 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Protocol__ProtocolNameAssignment_1_in_rule__Protocol__Group__1__Impl3913 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Protocol__Group__2__Impl_in_rule__Protocol__Group__23943 = new BitSet(new long[]{0x0009E417FC0F8010L});
    public static final BitSet FOLLOW_rule__Protocol__Group__3_in_rule__Protocol__Group__23946 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_35_in_rule__Protocol__Group__2__Impl3974 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Protocol__Group__3__Impl_in_rule__Protocol__Group__34005 = new BitSet(new long[]{0x0009E417FC0F8010L});
    public static final BitSet FOLLOW_rule__Protocol__Group__4_in_rule__Protocol__Group__34008 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Protocol__ImportsAssignment_3_in_rule__Protocol__Group__3__Impl4035 = new BitSet(new long[]{0x0000000000080002L});
    public static final BitSet FOLLOW_rule__Protocol__Group__4__Impl_in_rule__Protocol__Group__44066 = new BitSet(new long[]{0x0009E417FC0F8010L});
    public static final BitSet FOLLOW_rule__Protocol__Group__5_in_rule__Protocol__Group__44069 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Protocol__DefinitionsAssignment_4_in_rule__Protocol__Group__4__Impl4096 = new BitSet(new long[]{0x0009E407FC078012L});
    public static final BitSet FOLLOW_rule__Protocol__Group__5__Impl_in_rule__Protocol__Group__54127 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_36_in_rule__Protocol__Group__5__Impl4155 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Error__Group__0__Impl_in_rule__Error__Group__04198 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Error__Group__1_in_rule__Error__Group__04201 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Error__Group__0__Impl4229 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Error__Group__1__Impl_in_rule__Error__Group__14260 = new BitSet(new long[]{0x0000000800000000L});
    public static final BitSet FOLLOW_rule__Error__Group__2_in_rule__Error__Group__14263 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Error__NameAssignment_1_in_rule__Error__Group__1__Impl4290 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Error__Group__2__Impl_in_rule__Error__Group__24320 = new BitSet(new long[]{0x00190017FC000010L});
    public static final BitSet FOLLOW_rule__Error__Group__3_in_rule__Error__Group__24323 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_35_in_rule__Error__Group__2__Impl4351 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Error__Group__3__Impl_in_rule__Error__Group__34382 = new BitSet(new long[]{0x00190017FC000010L});
    public static final BitSet FOLLOW_rule__Error__Group__4_in_rule__Error__Group__34385 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Error__FieldsAssignment_3_in_rule__Error__Group__3__Impl4412 = new BitSet(new long[]{0x00190007FC000012L});
    public static final BitSet FOLLOW_rule__Error__Group__4__Impl_in_rule__Error__Group__44443 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_36_in_rule__Error__Group__4__Impl4471 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group__0__Impl_in_rule__Record__Group__04512 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Record__Group__1_in_rule__Record__Group__04515 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Record__Group__0__Impl4543 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group__1__Impl_in_rule__Record__Group__14574 = new BitSet(new long[]{0x0000000800000000L});
    public static final BitSet FOLLOW_rule__Record__Group__2_in_rule__Record__Group__14577 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__NameAssignment_1_in_rule__Record__Group__1__Impl4604 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group__2__Impl_in_rule__Record__Group__24634 = new BitSet(new long[]{0x0019E417FC078010L});
    public static final BitSet FOLLOW_rule__Record__Group__3_in_rule__Record__Group__24637 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_35_in_rule__Record__Group__2__Impl4665 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group__3__Impl_in_rule__Record__Group__34696 = new BitSet(new long[]{0x0019E417FC078010L});
    public static final BitSet FOLLOW_rule__Record__Group__4_in_rule__Record__Group__34699 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group_3__0_in_rule__Record__Group__3__Impl4726 = new BitSet(new long[]{0x0019E407FC078012L});
    public static final BitSet FOLLOW_rule__Record__Group__4__Impl_in_rule__Record__Group__44757 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_36_in_rule__Record__Group__4__Impl4785 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group_3__0__Impl_in_rule__Record__Group_3__04826 = new BitSet(new long[]{0x0019E407FC078010L});
    public static final BitSet FOLLOW_rule__Record__Group_3__1_in_rule__Record__Group_3__04829 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__AnnotationAssignment_3_0_in_rule__Record__Group_3__0__Impl4856 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group_3__1__Impl_in_rule__Record__Group_3__14887 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__FieldsAssignment_3_1_in_rule__Record__Group_3__1__Impl4914 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_0__0__Impl_in_rule__Field__Group_0__04948 = new BitSet(new long[]{0x0009E407FC078010L});
    public static final BitSet FOLLOW_rule__Field__Group_0__1_in_rule__Field__Group_0__04951 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__TypeAssignment_0_0_in_rule__Field__Group_0__0__Impl4978 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_0__1__Impl_in_rule__Field__Group_0__15008 = new BitSet(new long[]{0x0009E407FC078010L});
    public static final BitSet FOLLOW_rule__Field__Group_0__2_in_rule__Field__Group_0__15011 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__AnnotationAssignment_0_1_in_rule__Field__Group_0__1__Impl5038 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_0__2__Impl_in_rule__Field__Group_0__25069 = new BitSet(new long[]{0x0000002000004000L});
    public static final BitSet FOLLOW_rule__Field__Group_0__3_in_rule__Field__Group_0__25072 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__NameAssignment_0_2_in_rule__Field__Group_0__2__Impl5099 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_0__3__Impl_in_rule__Field__Group_0__35129 = new BitSet(new long[]{0x0000002000004000L});
    public static final BitSet FOLLOW_rule__Field__Group_0__4_in_rule__Field__Group_0__35132 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_0_3__0_in_rule__Field__Group_0__3__Impl5159 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_0__4__Impl_in_rule__Field__Group_0__45190 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEndLine_in_rule__Field__Group_0__4__Impl5217 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_0_3__0__Impl_in_rule__Field__Group_0_3__05256 = new BitSet(new long[]{0x00000000030001E0L});
    public static final BitSet FOLLOW_rule__Field__Group_0_3__1_in_rule__Field__Group_0_3__05259 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_rule__Field__Group_0_3__0__Impl5287 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_0_3__1__Impl_in_rule__Field__Group_0_3__15318 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__ValueAssignment_0_3_1_in_rule__Field__Group_0_3__1__Impl5345 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_1__0__Impl_in_rule__Field__Group_1__05379 = new BitSet(new long[]{0x0009E407FC078010L});
    public static final BitSet FOLLOW_rule__Field__Group_1__1_in_rule__Field__Group_1__05382 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__TypeAssignment_1_0_in_rule__Field__Group_1__0__Impl5409 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_1__1__Impl_in_rule__Field__Group_1__15439 = new BitSet(new long[]{0x0009E407FC078010L});
    public static final BitSet FOLLOW_rule__Field__Group_1__2_in_rule__Field__Group_1__15442 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__AnnotationAssignment_1_1_in_rule__Field__Group_1__1__Impl5469 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_1__2__Impl_in_rule__Field__Group_1__25500 = new BitSet(new long[]{0x0000002000004000L});
    public static final BitSet FOLLOW_rule__Field__Group_1__3_in_rule__Field__Group_1__25503 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__NameAssignment_1_2_in_rule__Field__Group_1__2__Impl5530 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Field__Group_1__3__Impl_in_rule__Field__Group_1__35560 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEndLine_in_rule__Field__Group_1__3__Impl5587 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group__0__Impl_in_rule__Enum__Group__05624 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Enum__Group__1_in_rule__Enum__Group__05627 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Enum__Group__0__Impl5655 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group__1__Impl_in_rule__Enum__Group__15686 = new BitSet(new long[]{0x0000000800000000L});
    public static final BitSet FOLLOW_rule__Enum__Group__2_in_rule__Enum__Group__15689 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__NameAssignment_1_in_rule__Enum__Group__1__Impl5716 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group__2__Impl_in_rule__Enum__Group__25746 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Enum__Group__3_in_rule__Enum__Group__25749 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_35_in_rule__Enum__Group__2__Impl5777 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group__3__Impl_in_rule__Enum__Group__35808 = new BitSet(new long[]{0x0000001000002000L});
    public static final BitSet FOLLOW_rule__Enum__Group__4_in_rule__Enum__Group__35811 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__FieldsAssignment_3_in_rule__Enum__Group__3__Impl5838 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group__4__Impl_in_rule__Enum__Group__45868 = new BitSet(new long[]{0x0000001000002000L});
    public static final BitSet FOLLOW_rule__Enum__Group__5_in_rule__Enum__Group__45871 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group_4__0_in_rule__Enum__Group__4__Impl5898 = new BitSet(new long[]{0x0000000000002002L});
    public static final BitSet FOLLOW_rule__Enum__Group__5__Impl_in_rule__Enum__Group__55929 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_36_in_rule__Enum__Group__5__Impl5957 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group_4__0__Impl_in_rule__Enum__Group_4__06000 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Enum__Group_4__1_in_rule__Enum__Group_4__06003 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleListSeparator_in_rule__Enum__Group_4__0__Impl6030 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group_4__1__Impl_in_rule__Enum__Group_4__16059 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__FieldsAssignment_4_1_in_rule__Enum__Group_4__1__Impl6086 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FixedLengthField__Group__0__Impl_in_rule__FixedLengthField__Group__06120 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__FixedLengthField__Group__1_in_rule__FixedLengthField__Group__06123 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__FixedLengthField__Group__0__Impl6151 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FixedLengthField__Group__1__Impl_in_rule__FixedLengthField__Group__16182 = new BitSet(new long[]{0x0000004000000000L});
    public static final BitSet FOLLOW_rule__FixedLengthField__Group__2_in_rule__FixedLengthField__Group__16185 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FixedLengthField__NameAssignment_1_in_rule__FixedLengthField__Group__1__Impl6212 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FixedLengthField__Group__2__Impl_in_rule__FixedLengthField__Group__26242 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__FixedLengthField__Group__3_in_rule__FixedLengthField__Group__26245 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__FixedLengthField__Group__2__Impl6273 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FixedLengthField__Group__3__Impl_in_rule__FixedLengthField__Group__36304 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_rule__FixedLengthField__Group__4_in_rule__FixedLengthField__Group__36307 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FixedLengthField__SizeAssignment_3_in_rule__FixedLengthField__Group__3__Impl6334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FixedLengthField__Group__4__Impl_in_rule__FixedLengthField__Group__46364 = new BitSet(new long[]{0x0000002000004000L});
    public static final BitSet FOLLOW_rule__FixedLengthField__Group__5_in_rule__FixedLengthField__Group__46367 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__FixedLengthField__Group__4__Impl6395 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FixedLengthField__Group__5__Impl_in_rule__FixedLengthField__Group__56426 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEndLine_in_rule__FixedLengthField__Group__5__Impl6453 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Imports__Group__0__Impl_in_rule__Imports__Group__06494 = new BitSet(new long[]{0x0000000000E00000L});
    public static final BitSet FOLLOW_rule__Imports__Group__1_in_rule__Imports__Group__06497 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__Imports__Group__0__Impl6525 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Imports__Group__1__Impl_in_rule__Imports__Group__16556 = new BitSet(new long[]{0x00000000030001E0L});
    public static final BitSet FOLLOW_rule__Imports__Group__2_in_rule__Imports__Group__16559 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Imports__ImportTypeAssignment_1_in_rule__Imports__Group__1__Impl6586 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Imports__Group__2__Impl_in_rule__Imports__Group__26616 = new BitSet(new long[]{0x0000002000004000L});
    public static final BitSet FOLLOW_rule__Imports__Group__3_in_rule__Imports__Group__26619 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Imports__ImportURIAssignment_2_in_rule__Imports__Group__2__Impl6646 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Imports__Group__3__Impl_in_rule__Imports__Group__36676 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Imports__EndLineAssignment_3_in_rule__Imports__Group__3__Impl6703 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group__0__Impl_in_rule__RPCMessage__Group__06741 = new BitSet(new long[]{0x0000020000000010L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group__1_in_rule__RPCMessage__Group__06744 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__ReturnTypeAssignment_0_in_rule__RPCMessage__Group__0__Impl6771 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group__1__Impl_in_rule__RPCMessage__Group__16801 = new BitSet(new long[]{0x0000004000000000L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group__2_in_rule__RPCMessage__Group__16804 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__NameAssignment_1_in_rule__RPCMessage__Group__1__Impl6831 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group__2__Impl_in_rule__RPCMessage__Group__26861 = new BitSet(new long[]{0x00000087FC000010L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group__3_in_rule__RPCMessage__Group__26864 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__RPCMessage__Group__2__Impl6892 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group__3__Impl_in_rule__RPCMessage__Group__36923 = new BitSet(new long[]{0x00000087FC000010L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group__4_in_rule__RPCMessage__Group__36926 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group_3__0_in_rule__RPCMessage__Group__3__Impl6953 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group__4__Impl_in_rule__RPCMessage__Group__46984 = new BitSet(new long[]{0x0000012000104000L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group__5_in_rule__RPCMessage__Group__46987 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__RPCMessage__Group__4__Impl7015 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group__5__Impl_in_rule__RPCMessage__Group__57046 = new BitSet(new long[]{0x0000012000104000L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group__6_in_rule__RPCMessage__Group__57049 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__RPCMessage__Group__5__Impl7078 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group__6__Impl_in_rule__RPCMessage__Group__67111 = new BitSet(new long[]{0x0000012000104000L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group__7_in_rule__RPCMessage__Group__67114 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__ThrowsAssignment_6_in_rule__RPCMessage__Group__6__Impl7141 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group__7__Impl_in_rule__RPCMessage__Group__77172 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEndLine_in_rule__RPCMessage__Group__7__Impl7199 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group_3__0__Impl_in_rule__RPCMessage__Group_3__07244 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group_3__1_in_rule__RPCMessage__Group_3__07247 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__ArgsAssignment_3_0_in_rule__RPCMessage__Group_3__0__Impl7274 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group_3__1__Impl_in_rule__RPCMessage__Group_3__17304 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group_3_1__0_in_rule__RPCMessage__Group_3__1__Impl7331 = new BitSet(new long[]{0x0000000000002002L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group_3_1__0__Impl_in_rule__RPCMessage__Group_3_1__07366 = new BitSet(new long[]{0x00000007FC000010L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group_3_1__1_in_rule__RPCMessage__Group_3_1__07369 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleListSeparator_in_rule__RPCMessage__Group_3_1__0__Impl7396 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__Group_3_1__1__Impl_in_rule__RPCMessage__Group_3_1__17425 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RPCMessage__ArgsAssignment_3_1_1_in_rule__RPCMessage__Group_3_1__1__Impl7452 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Name__Group_1__0__Impl_in_rule__Name__Group_1__07486 = new BitSet(new long[]{0x00000000001F8000L});
    public static final BitSet FOLLOW_rule__Name__Group_1__1_in_rule__Name__Group_1__07489 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Name__ValueAssignment_1_0_in_rule__Name__Group_1__0__Impl7516 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Name__Group_1__1__Impl_in_rule__Name__Group_1__17546 = new BitSet(new long[]{0x0000020000000000L});
    public static final BitSet FOLLOW_rule__Name__Group_1__2_in_rule__Name__Group_1__17549 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleReservedIdentifiers_in_rule__Name__Group_1__1__Impl7576 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Name__Group_1__2__Impl_in_rule__Name__Group_1__27605 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_41_in_rule__Name__Group_1__2__Impl7633 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Throws__Group__0__Impl_in_rule__Throws__Group__07670 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Throws__Group__1_in_rule__Throws__Group__07673 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Throws__Group__0__Impl7701 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Throws__Group__1__Impl_in_rule__Throws__Group__17732 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Throws__ErrorAssignment_1_in_rule__Throws__Group__1__Impl7759 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Argument__Group__0__Impl_in_rule__Argument__Group__07793 = new BitSet(new long[]{0x0000020000000010L});
    public static final BitSet FOLLOW_rule__Argument__Group__1_in_rule__Argument__Group__07796 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Argument__TypeAssignment_0_in_rule__Argument__Group__0__Impl7823 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Argument__Group__1__Impl_in_rule__Argument__Group__17853 = new BitSet(new long[]{0x0000002000000000L});
    public static final BitSet FOLLOW_rule__Argument__Group__2_in_rule__Argument__Group__17856 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Argument__NameAssignment_1_in_rule__Argument__Group__1__Impl7883 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Argument__Group__2__Impl_in_rule__Argument__Group__27913 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Argument__Group_2__0_in_rule__Argument__Group__2__Impl7940 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Argument__Group_2__0__Impl_in_rule__Argument__Group_2__07977 = new BitSet(new long[]{0x00000000030001E0L});
    public static final BitSet FOLLOW_rule__Argument__Group_2__1_in_rule__Argument__Group_2__07980 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_rule__Argument__Group_2__0__Impl8008 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Argument__Group_2__1__Impl_in_rule__Argument__Group_2__18039 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Argument__ValueAssignment_2_1_in_rule__Argument__Group_2__1__Impl8066 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group__0__Impl_in_rule__AliasAnnotation__Group__08100 = new BitSet(new long[]{0x0000004000000000L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group__1_in_rule__AliasAnnotation__Group__08103 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__AliasAnnotation__Group__0__Impl8131 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group__1__Impl_in_rule__AliasAnnotation__Group__18162 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group__2_in_rule__AliasAnnotation__Group__18165 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__AliasAnnotation__Group__1__Impl8193 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group__2__Impl_in_rule__AliasAnnotation__Group__28224 = new BitSet(new long[]{0x00000000030001E0L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group__3_in_rule__AliasAnnotation__Group__28227 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__AliasAnnotation__Group__2__Impl8255 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group__3__Impl_in_rule__AliasAnnotation__Group__38286 = new BitSet(new long[]{0x0000100000002000L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group__4_in_rule__AliasAnnotation__Group__38289 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__ElementAssignment_3_in_rule__AliasAnnotation__Group__3__Impl8316 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group__4__Impl_in_rule__AliasAnnotation__Group__48346 = new BitSet(new long[]{0x0000100000002000L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group__5_in_rule__AliasAnnotation__Group__48349 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group_4__0_in_rule__AliasAnnotation__Group__4__Impl8376 = new BitSet(new long[]{0x0000000000002002L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group__5__Impl_in_rule__AliasAnnotation__Group__58407 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group__6_in_rule__AliasAnnotation__Group__58410 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_44_in_rule__AliasAnnotation__Group__5__Impl8438 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group__6__Impl_in_rule__AliasAnnotation__Group__68469 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__AliasAnnotation__Group__6__Impl8497 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group_4__0__Impl_in_rule__AliasAnnotation__Group_4__08542 = new BitSet(new long[]{0x00000000030001E0L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group_4__1_in_rule__AliasAnnotation__Group_4__08545 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__AliasAnnotation__Group_4__0__Impl8573 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__Group_4__1__Impl_in_rule__AliasAnnotation__Group_4__18604 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AliasAnnotation__ElementAssignment_4_1_in_rule__AliasAnnotation__Group_4__1__Impl8631 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__OrderAnnotation__Group__0__Impl_in_rule__OrderAnnotation__Group__08665 = new BitSet(new long[]{0x0000004000000000L});
    public static final BitSet FOLLOW_rule__OrderAnnotation__Group__1_in_rule__OrderAnnotation__Group__08668 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_rule__OrderAnnotation__Group__0__Impl8696 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__OrderAnnotation__Group__1__Impl_in_rule__OrderAnnotation__Group__18727 = new BitSet(new long[]{0x00000000030001E0L});
    public static final BitSet FOLLOW_rule__OrderAnnotation__Group__2_in_rule__OrderAnnotation__Group__18730 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__OrderAnnotation__Group__1__Impl8758 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__OrderAnnotation__Group__2__Impl_in_rule__OrderAnnotation__Group__28789 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_rule__OrderAnnotation__Group__3_in_rule__OrderAnnotation__Group__28792 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__OrderAnnotation__OrderAssignment_2_in_rule__OrderAnnotation__Group__2__Impl8819 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__OrderAnnotation__Group__3__Impl_in_rule__OrderAnnotation__Group__38849 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__OrderAnnotation__Group__3__Impl8877 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NamespaceAnnotation__Group__0__Impl_in_rule__NamespaceAnnotation__Group__08916 = new BitSet(new long[]{0x0000004000000000L});
    public static final BitSet FOLLOW_rule__NamespaceAnnotation__Group__1_in_rule__NamespaceAnnotation__Group__08919 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_46_in_rule__NamespaceAnnotation__Group__0__Impl8947 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NamespaceAnnotation__Group__1__Impl_in_rule__NamespaceAnnotation__Group__18978 = new BitSet(new long[]{0x00000000030001E0L});
    public static final BitSet FOLLOW_rule__NamespaceAnnotation__Group__2_in_rule__NamespaceAnnotation__Group__18981 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__NamespaceAnnotation__Group__1__Impl9009 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NamespaceAnnotation__Group__2__Impl_in_rule__NamespaceAnnotation__Group__29040 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_rule__NamespaceAnnotation__Group__3_in_rule__NamespaceAnnotation__Group__29043 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NamespaceAnnotation__PathAssignment_2_in_rule__NamespaceAnnotation__Group__2__Impl9070 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NamespaceAnnotation__Group__3__Impl_in_rule__NamespaceAnnotation__Group__39100 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__NamespaceAnnotation__Group__3__Impl9128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__JavaclassAnnotation__Group__0__Impl_in_rule__JavaclassAnnotation__Group__09167 = new BitSet(new long[]{0x0000004000000000L});
    public static final BitSet FOLLOW_rule__JavaclassAnnotation__Group__1_in_rule__JavaclassAnnotation__Group__09170 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__JavaclassAnnotation__Group__0__Impl9198 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__JavaclassAnnotation__Group__1__Impl_in_rule__JavaclassAnnotation__Group__19229 = new BitSet(new long[]{0x00000000030001E0L});
    public static final BitSet FOLLOW_rule__JavaclassAnnotation__Group__2_in_rule__JavaclassAnnotation__Group__19232 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__JavaclassAnnotation__Group__1__Impl9260 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__JavaclassAnnotation__Group__2__Impl_in_rule__JavaclassAnnotation__Group__29291 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_rule__JavaclassAnnotation__Group__3_in_rule__JavaclassAnnotation__Group__29294 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__JavaclassAnnotation__ClasspathAssignment_2_in_rule__JavaclassAnnotation__Group__2__Impl9321 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__JavaclassAnnotation__Group__3__Impl_in_rule__JavaclassAnnotation__Group__39351 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__JavaclassAnnotation__Group__3__Impl9379 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Group__0__Impl_in_rule__ArrayType__Group__09418 = new BitSet(new long[]{0x0002000000000000L});
    public static final BitSet FOLLOW_rule__ArrayType__Group__1_in_rule__ArrayType__Group__09421 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__ArrayType__Group__0__Impl9449 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Group__1__Impl_in_rule__ArrayType__Group__19480 = new BitSet(new long[]{0x00090007FC000000L});
    public static final BitSet FOLLOW_rule__ArrayType__Group__2_in_rule__ArrayType__Group__19483 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_49_in_rule__ArrayType__Group__1__Impl9511 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Group__2__Impl_in_rule__ArrayType__Group__29542 = new BitSet(new long[]{0x0004000000000000L});
    public static final BitSet FOLLOW_rule__ArrayType__Group__3_in_rule__ArrayType__Group__29545 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__TypeAssignment_2_in_rule__ArrayType__Group__2__Impl9572 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Group__3__Impl_in_rule__ArrayType__Group__39602 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_50_in_rule__ArrayType__Group__3__Impl9630 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__Group__0__Impl_in_rule__MapType__Group__09669 = new BitSet(new long[]{0x0002000000000000L});
    public static final BitSet FOLLOW_rule__MapType__Group__1_in_rule__MapType__Group__09672 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_51_in_rule__MapType__Group__0__Impl9700 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__Group__1__Impl_in_rule__MapType__Group__19731 = new BitSet(new long[]{0x00090007FC000000L});
    public static final BitSet FOLLOW_rule__MapType__Group__2_in_rule__MapType__Group__19734 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_49_in_rule__MapType__Group__1__Impl9762 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__Group__2__Impl_in_rule__MapType__Group__29793 = new BitSet(new long[]{0x0004000000000000L});
    public static final BitSet FOLLOW_rule__MapType__Group__3_in_rule__MapType__Group__29796 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__TypeAssignment_2_in_rule__MapType__Group__2__Impl9823 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MapType__Group__3__Impl_in_rule__MapType__Group__39853 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_50_in_rule__MapType__Group__3__Impl9881 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnionType__Group__0__Impl_in_rule__UnionType__Group__09920 = new BitSet(new long[]{0x0000000800000000L});
    public static final BitSet FOLLOW_rule__UnionType__Group__1_in_rule__UnionType__Group__09923 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_52_in_rule__UnionType__Group__0__Impl9951 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnionType__Group__1__Impl_in_rule__UnionType__Group__19982 = new BitSet(new long[]{0x00000007FC000010L});
    public static final BitSet FOLLOW_rule__UnionType__Group__2_in_rule__UnionType__Group__19985 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_35_in_rule__UnionType__Group__1__Impl10013 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnionType__Group__2__Impl_in_rule__UnionType__Group__210044 = new BitSet(new long[]{0x0000001000002000L});
    public static final BitSet FOLLOW_rule__UnionType__Group__3_in_rule__UnionType__Group__210047 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnionType__TypesAssignment_2_in_rule__UnionType__Group__2__Impl10074 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnionType__Group__3__Impl_in_rule__UnionType__Group__310104 = new BitSet(new long[]{0x0000001000002000L});
    public static final BitSet FOLLOW_rule__UnionType__Group__4_in_rule__UnionType__Group__310107 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnionType__Group_3__0_in_rule__UnionType__Group__3__Impl10134 = new BitSet(new long[]{0x0000000000002002L});
    public static final BitSet FOLLOW_rule__UnionType__Group__4__Impl_in_rule__UnionType__Group__410165 = new BitSet(new long[]{0x0009E427FC07C010L});
    public static final BitSet FOLLOW_rule__UnionType__Group__5_in_rule__UnionType__Group__410168 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_36_in_rule__UnionType__Group__4__Impl10196 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnionType__Group__5__Impl_in_rule__UnionType__Group__510227 = new BitSet(new long[]{0x0009E427FC07C010L});
    public static final BitSet FOLLOW_rule__UnionType__Group__6_in_rule__UnionType__Group__510230 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnionType__AnnotationAssignment_5_in_rule__UnionType__Group__5__Impl10257 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnionType__Group__6__Impl_in_rule__UnionType__Group__610288 = new BitSet(new long[]{0x0009E427FC07C010L});
    public static final BitSet FOLLOW_rule__UnionType__Group__7_in_rule__UnionType__Group__610291 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnionType__OptionalStringAssignment_6_in_rule__UnionType__Group__6__Impl10318 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnionType__Group__7__Impl_in_rule__UnionType__Group__710349 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEndLine_in_rule__UnionType__Group__7__Impl10376 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnionType__Group_3__0__Impl_in_rule__UnionType__Group_3__010421 = new BitSet(new long[]{0x00000007FC000010L});
    public static final BitSet FOLLOW_rule__UnionType__Group_3__1_in_rule__UnionType__Group_3__010424 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__UnionType__Group_3__0__Impl10452 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnionType__Group_3__1__Impl_in_rule__UnionType__Group_3__110483 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnionType__TypesAssignment_3_1_in_rule__UnionType__Group_3__1__Impl10510 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNamespaceAnnotation_in_rule__AvroIdl__NameSpaceAssignment_010551 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleProtocol_in_rule__AvroIdl__ProtocolAssignment_110582 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Protocol__ProtocolNameAssignment_110613 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImports_in_rule__Protocol__ImportsAssignment_310644 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDefinitions_in_rule__Protocol__DefinitionsAssignment_410675 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Error__NameAssignment_110706 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleField_in_rule__Error__FieldsAssignment_310737 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Record__NameAssignment_110768 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotation_in_rule__Record__AnnotationAssignment_3_010799 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleField_in_rule__Record__FieldsAssignment_3_110830 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldType_in_rule__Field__TypeAssignment_0_010861 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotation_in_rule__Field__AnnotationAssignment_0_110892 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Field__NameAssignment_0_210923 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstValue_in_rule__Field__ValueAssignment_0_3_110954 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDefType_in_rule__Field__TypeAssignment_1_010985 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotation_in_rule__Field__AnnotationAssignment_1_111016 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Field__NameAssignment_1_211047 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Enum__NameAssignment_111078 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnumFields_in_rule__Enum__FieldsAssignment_311109 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnumFields_in_rule__Enum__FieldsAssignment_4_111140 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumFields__NameAssignment11171 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__FixedLengthField__NameAssignment_111202 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__FixedLengthField__SizeAssignment_311233 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImportTypeRef_in_rule__Imports__ImportTypeAssignment_111264 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringRef_in_rule__Imports__ImportURIAssignment_211295 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEndLine_in_rule__Imports__EndLineAssignment_311326 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleReturnType_in_rule__RPCMessage__ReturnTypeAssignment_011357 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleName_in_rule__RPCMessage__NameAssignment_111388 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArgument_in_rule__RPCMessage__ArgsAssignment_3_011419 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArgument_in_rule__RPCMessage__ArgsAssignment_3_1_111450 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleThrows_in_rule__RPCMessage__ThrowsAssignment_611481 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Name__ValueAssignment_011512 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_41_in_rule__Name__ValueAssignment_1_011548 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__ReturnType__TypeAssignment_111591 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Throws__ErrorAssignment_111630 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleReturnType_in_rule__Argument__TypeAssignment_011665 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleName_in_rule__Argument__NameAssignment_111696 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstValue_in_rule__Argument__ValueAssignment_2_111727 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringRef_in_rule__AliasAnnotation__ElementAssignment_311758 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringRef_in_rule__AliasAnnotation__ElementAssignment_4_111789 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringRef_in_rule__OrderAnnotation__OrderAssignment_211820 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringRef_in_rule__NamespaceAnnotation__PathAssignment_211851 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringRef_in_rule__JavaclassAnnotation__ClasspathAssignment_211882 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__DefType__NameAssignment11917 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBaseType_in_rule__BaseTypeRef__BasicTypeAssignment11952 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__IntRef__IntAssignment11983 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_HEX_in_rule__HexRef__HexAssignment12014 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_DOUBLE_in_rule__DoubleRef__DoubleAssignment12045 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBOOL_in_rule__BooleanRef__BooleanAssignment12076 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringRef__StringAssignment12107 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImportType_in_rule__ImportTypeRef__TypeAssignment12138 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldType_in_rule__ArrayType__TypeAssignment_212169 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldType_in_rule__MapType__TypeAssignment_212200 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnionFieldType_in_rule__UnionType__TypesAssignment_212231 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnionFieldType_in_rule__UnionType__TypesAssignment_3_112262 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAnnotation_in_rule__UnionType__AnnotationAssignment_512293 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__UnionType__OptionalStringAssignment_612324 = new BitSet(new long[]{0x0000000000000002L});

}